home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr37 / vndnfo1a.zip / VENDPRCS.DOC < prev    next >
Text File  |  1995-03-12  |  167KB  |  4,544 lines

  1.  
  2.     
  3.  
  4.  
  5.  
  6.  
  7.                  +-----------------------------------------+
  8.                  |                                         |
  9.                  |                                         |
  10.                  |               User's Guide              |
  11.                  |                                         |
  12.                  |          VendPrcs(TM) Processor         |
  13.                  |    for accessing VENDINFO(TM) records   |
  14.                  |             Version 1.21-012            |
  15.                  |                                         |
  16.                  |                                         |
  17.                  |         Last updated: March 1995        |
  18.                  |                                         |
  19.                  |                                         |
  20.                  | Copyright 1993-95 Rams' Island Software |
  21.                  |           All rights reserved           |
  22.                  |                                         |
  23.                  +-----------------------------------------+
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.    Rams' Island Software
  45.    7644 E. Lakecliff Way                   _______
  46.    Parker, CO 80134-5904 (USA)        ____|__     |                (R)
  47.                                    --|       |    |-------------------
  48.    Voice:    (303) 841-2848          |   ____|__  |  Association of
  49.    BBS/FAX:  (303) 841-6269          |  |       |_|  Shareware
  50.    CompuServe: 76244,324             |__|   o   |    Professionals
  51.                                    -----|   |   |---------------------
  52.    FidoNet:  1:104/333                  |___|___|    MEMBER
  53.    RIME:     1235
  54.    Internet: 76244.324@compuserve.com
  55.  
  56.  
  57.                                                                            
  58.  
  59.  
  60.  
  61.  
  62.    VendPrcs User's Guide                                           VendPrcs
  63.  
  64.  
  65.                               +-----------------+
  66.                               | Acknowledgments |
  67.                               +-----------------+
  68.  
  69.    Many people have helped to mold the VENDINFO vision, and to provide
  70.    support and encouragement throughout its development process. Thanks are
  71.    given to all those who have reviewed the Concept Paper or the VENDINFO
  72.    standard, or who have otherwise made suggestions regarding the project.
  73.  
  74.    The author is especially grateful to Fred Hill and Richard Holler, for
  75.    long-term support and help with VENDINFO.
  76.  
  77.    While many have reviewed parts of the VENDINFO documentation, special
  78.    thanks go to Jim Green, for helping us avoid a wrong direction; to Bob
  79.    Ostrander for a simple but particularly powerful idea; and to Daan van
  80.    Rooijen, for really studying the standard and providing many, many
  81.    useful suggestions.
  82.  
  83.    Many people have also helped in beta testing the VENDINFO tools, and
  84.    we're grateful to them all. Special thanks are given to Steve Estvanik,
  85.    Jerry Stern, and Rosemary West, for really giving things a workout, and
  86.    tirelessly reporting the results.
  87.  
  88.    The VENDINFO team is grateful to the following shareware trade associa-
  89.    tions for their endorsements of VENDINFO:
  90.  
  91.       Association of Shareware Professionals (ASP)
  92.       Association of Shareware Authors and Distributors (ASAD)
  93.       Shareware Trade Association and Resources (STAR)
  94.       Educational Software Copperative (ESC)
  95.  
  96.    Finally, we particularly appreciate the 30-or-so software development
  97.    teams (mostly BBS-related) whose early commitment to support the
  98.    VENDINFO standard in their software products has helped provide momentum
  99.    and visibility to this effort.
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.    VENDINFO, VendEdit, VendPrcs, VendView, and VendLib are trademarks of
  112.    Rams' Island Software.
  113.  
  114.  
  115.  
  116.    VendPrcs Processor v1.21           -ii-                         Mar 1995
  117.  
  118.  
  119.  
  120.  
  121.    VendPrcs User's Guide                                  Table of Contents
  122.  
  123.  
  124.                              +-------------------+
  125.                              | Table of Contents |
  126.                              +-------------------+
  127.  
  128.  
  129.     The VENDINFO System ................................................  1
  130.        Components of the System ........................................  1
  131.        Structure of a VENDINFO File ....................................  2
  132.        A Little Background .............................................  3
  133.        Industry Support and Endorsements ...............................  4
  134.        Other VENDINFO Documents and Packages ...........................  5
  135.  
  136.     Introduction to VendPrcs ...........................................  7
  137.  
  138.     Installation .......................................................  8
  139.        Quick Start .....................................................  8
  140.        Detailed Contents of the VendPrcs Package .......................  9
  141.        Warranty and License ............................................ 10
  142.        Technical Support for VendPrcs .................................. 11
  143.  
  144.     Extracting Fields from a VENDINFO File (-x) ........................ 13
  145.        Simple Extraction of a Field Value (-x) ......................... 13
  146.        Multi-Line Field Values (-zr, -zc) .............................. 13
  147.        Indenting the Output (-zi) ...................................... 14
  148.        Inserting in Other Text (-y, -zi) ............................... 14
  149.        Special Format-Control Strings (-zd) ............................ 15
  150.        Alternative TRUE/FALSE Strings (-zt, -zf) ....................... 16
  151.        Multiple Extractions on One Line (-zn) .......................... 16
  152.        Outputting in Quoted, Comma-Delimited Form (-zq) ................ 17
  153.        Changing Output to Upper Case (-zu) ............................. 18
  154.        Truncating and Padding to Exact Width (-zw, -zl) ................ 18
  155.        Special Output Conventions (-zv) ................................ 19
  156.        Value Returned if Field is Empty ................................ 19
  157.        Special Extraction Formats (-s) ................................. 19
  158.        Improving Performance During Multiple Extractions (-zk) ......... 20
  159.        Errorlevels Returned by Extraction Operations ................... 21
  160.        Extraction Examples ............................................. 21
  161.  
  162.     Testing for Field Values (-e) ...................................... 22
  163.        Errorlevels Returned by Field Tests ............................. 22
  164.        Testing Fields That Can Be Missing .............................. 22
  165.        Testing Boolean Fields .......................................... 23
  166.        Testing Other Always-Present Fields ............................. 24
  167.  
  168.     Accessing DOZ Files for CD-ROMs, Media Kits, etc. (-xc, -ec) ....... 25
  169.  
  170.     Testing for Distribution Permission (-d) ........................... 28
  171.        Philosophy Regarding Distribution Restrictions .................. 29
  172.        Algorithm Used for Distribution Permission Tests ................ 30
  173.  
  174.  
  175.    VendPrcs Processor v1.21          -iii-                         Mar 1995
  176.  
  177.  
  178.  
  179.  
  180.    VendPrcs User's Guide                                  Table of Contents
  181.  
  182.  
  183.        Proposed Distribution Channel (-d) .............................. 31
  184.        Charges Made for Distribution Services (-c) ..................... 33
  185.        Distributor "Type" (-t) ......................................... 35
  186.        Indicating Details of the Distribution Medium (-m) .............. 35
  187.        Informing the Customer (-oi) .................................... 36
  188.        Modifying or Bundling Packages (-om) ............................ 36
  189.        Other Distribution Specifications (-o) .......................... 37
  190.        Errorlevels Returned by Distribution Permission Tests ........... 37
  191.        Testing for VENDINFO-Branded Executables ........................ 39
  192.        Testing for Altered Package Contents ............................ 39
  193.        Suppressing Unwanted Testing (-n) ............................... 39
  194.  
  195.     Package Routing and Disposition (-r) ............................... 41
  196.        Routing Directory Conventions ................................... 41
  197.        Package Filename (-p) ........................................... 42
  198.        Rename Package to Author-Indicated Name (-rn) ................... 43
  199.        Move Package Based on Test Outcome (-rm) ........................ 44
  200.        Move Package Based on Product Category (-rc) .................... 44
  201.        Logs and Generated Lists (-rl -rs -rd -ro) ...................... 47
  202.        Maintain VENDINFO File Library (-rv) ............................ 48
  203.  
  204.     Security ........................................................... 49
  205.  
  206.     Putting It All Together (Examples) ................................. 51
  207.        Force Package to Author-Preferred Name .......................... 51
  208.        A Low-Maintenance Games-Only BBS ................................ 52
  209.        BBS-Ready CD-ROM Production ..................................... 53
  210.        Build FILES.BBS ................................................. 55
  211.        Automatic Permission Request .................................... 56
  212.  
  213.     Appendix A -- VendPrcs Command-Line Arguments ...................... 57
  214.  
  215.     Appendix B -- Field Code Reference ................................. 60
  216.        Author/Publisher Information .................................... 60
  217.        Special Contents of VENDINFO.DOZ Files .......................... 61
  218.        Channel-Specific Distribution Information ....................... 62
  219.        Human-Readable Front Text Sections .............................. 63
  220.        Channel-Independent ("General") Distribution .................... 63
  221.        VENDINFO Header Information ..................................... 64
  222.        Price and Benefits Information .................................. 64
  223.        Ordering Information ............................................ 65
  224.        Product Information ............................................. 67
  225.        Information about Distributors of Registered Version ............ 69
  226.        Technical Support Information ................................... 71
  227.        Special Information Not From Inside VENDINFO Record ............. 71
  228.  
  229.     Appendix C -- VendPrcs Errorlevels ................................. 73
  230.  
  231.  
  232.  
  233.  
  234.    VendPrcs Processor v1.21          -iv-                          Mar 1995
  235.  
  236.  
  237.  
  238.  
  239.  
  240.    VendPrcs User's Guide                           Introduction to VENDINFO
  241.  
  242.  
  243.     
  244.                             +---------------------+
  245.                             | The VENDINFO System |
  246.                             +---------------------+
  247.  
  248.       VENDINFO is a system for conveying software product information and
  249.       distribution permissions from the author to distributors and users. A
  250.       standard (public) file format allows a VENDINFO.DIZ file to carry
  251.       extensive information in a compressed, efficient form. The associated
  252.       toolset:
  253.  
  254.            o  aids the author in constructing the record
  255.  
  256.            o  allows the distributor to extract portions of the record, or
  257.               to make distribution decisions based on its content, in a
  258.               highly automated way
  259.  
  260.            o  allows the user to view user-relevant product information
  261.               quite easily.
  262.  
  263.  
  264.       VENDINFO provides unprecedented capabilities for
  265.  
  266.            o  Communication of product information and distribution
  267.               policies from authors to users and distributors.
  268.  
  269.            o  Automation of many aspects of package handling by shareware
  270.               distributors of all types.
  271.  
  272.  
  273.  
  274.    Components of the System
  275.    ------------------------
  276.  
  277.       The VENDINFO "record" is the key. This is an efficiently compressed
  278.       file (VENDINFO.DIZ) containing a great deal of information about the
  279.       product, the author, and the product's distribution policies.
  280.  
  281.       The VendEdit editor allows the author to construct a complete
  282.       VENDINFO record in just a few minutes, assuming that the necessary
  283.       descriptive texts have already been prepared.
  284.  
  285.       The VendPrcs (pronounced "vend process") processor is a batch program
  286.       allowing automated decisions based on VENDINFO content, and automated
  287.       extraction of VENDINFO information.
  288.  
  289.       VendView is a simple menu-driven viewer that allows the end-user to
  290.       se relevant portions of the VENDINFO data. Even without VendView, an
  291.       ordinary text viewer will display a good deal of useful information.
  292.  
  293.  
  294.    VendPrcs Processor v1.21           -1-                          Mar 1995
  295.  
  296.  
  297.  
  298.  
  299.    VendPrcs User's Guide                           Introduction to VENDINFO
  300.  
  301.  
  302.       The Product Registry is a collection of VENDINFO records available
  303.       for searches and queries by subscription, BBS login, or mail-order
  304.       query.
  305.  
  306.       The VendLib Library allows software developers to build VENDINFO
  307.       access directly into such products as BBS programs and upload proces-
  308.       sors. This library is already in the hands of some 30 vendors of
  309.       BBSes, BBS utility software, and other relevant software.
  310.  
  311.       The file-format standard describing the VENDINFO file is public, and
  312.       draft versions have been published since July 1993. The final version
  313.       1.00 has been released, and is the basis for the current toolset.
  314.  
  315.       VendPrcs Plus, a non-shareware version of VendPrcs, is in the plan-
  316.       ning stages. It will have a full-screen interface, using scripts for
  317.       easier, more efficient information extraction, and templates for
  318.       easier description of decision situations. It will also allow manage-
  319.       ment of a library of VENDINFO files, and will provide automated
  320.       access to the Product Registry BBS.
  321.  
  322.       Additional services for authors, users, and distributors are under
  323.       consideration.
  324.  
  325.  
  326.    Structure of a VENDINFO File
  327.    ----------------------------
  328.  
  329.       The VENDINFO.DIZ file contains two sections. A human-readable front
  330.       section contains information about how to use the VENDINFO file, and
  331.       presents most of the basic information about the product in readable
  332.       form. Optionally, it also includes "read-me" text, installation
  333.       instructions, and the product's warranty and trial-use license.
  334.  
  335.       The second section is a binary data record, compressed with a PKZIP
  336.       1.10 algorithm, and appended to the file after the first section.
  337.       This record has some 750 fields of information about such things as
  338.  
  339.            o  Product name, date, and version
  340.  
  341.            o  Preferred package filename, other parts of product, replaced
  342.               versions
  343.  
  344.            o  Product descriptions of varying length, categories, keywords
  345.  
  346.            o  Required platform (CPU, operating system, memory, disk,
  347.               features)
  348.  
  349.            o  Contact information for author, for registering, for tech
  350.               support
  351.  
  352.  
  353.    VendPrcs Processor v1.21           -2-                          Mar 1995
  354.  
  355.  
  356.  
  357.  
  358.    VendPrcs User's Guide                           Introduction to VENDINFO
  359.  
  360.  
  361.            o  Registration prices and benefits, acceptable forms of payment
  362.  
  363.            o  Detailed distribution policy, in general and by distribution
  364.               channel
  365.  
  366.            o  Information about regional distributors and registration
  367.               services.
  368.  
  369.       There is also a specialized version of the VENDINFO file, called
  370.       VENDINFO.DOZ (for Description Out of Zip), which can contain addi-
  371.       tional information for use by CD-ROM front ends, as an electronic
  372.       media kit, and for other uses. This file can even contain screen-
  373.       shots, icons, sound samples, a logo, advertising screen, press
  374.       release, reviewer guidelines, company background, author biography,
  375.       product features sheet, question-and-answer sheet, and other em-
  376.       bedded, compressed files. CD-ROM front ends will soon be using this
  377.       information, as will the free VendView viewer.
  378.  
  379.  
  380.    A Little Background
  381.    -------------------
  382.  
  383.       The author of the VENDINFO standard and tools, Rudy Ramsey, has been
  384.       agitating since early 1992 for the development of an improved
  385.       mechanism for conveying product information and permissions from
  386.       authors to distributors. Initially, the intent was to make this a
  387.       purely volunteer-based effort, probably conducted within the auspices
  388.       of the Association of Shareware Professionals. However, others were
  389.       slow to respond to the idea (with the exception of Richard Holler and
  390.       Fred Hill), and it gradually became clear that it would have to be
  391.       done as an "extracurricular" effort, if at all.
  392.  
  393.       In the Spring of 1993, Rudy began the VENDINFO effort in earnest, by
  394.       preparing the CONCEPT.DOC concept paper and distributing it to a few
  395.       key shareware industry figures for comment. (At this time, he still
  396.       imagined VENDINFO as an all-volunteer effort.) The reviewers were
  397.       uniformly excited about the idea, and greatly encouraging. Most felt
  398.       that it was an idea whose time had come, and that the technical
  399.       approach described in the concept paper was very appropriate.
  400.  
  401.       Their second response, however, was that the effort contained the
  402.       seeds of its own failure. It might provide all the necessary incen-
  403.       tives for participation by authors, distributors, and users. But if
  404.       it didn't also provide an incentive for continued development and
  405.       support by its own development team, it would fail. It was simply too
  406.       big an activity for successful execution by volunteers.
  407.  
  408.       As a result of that input, a decision was made to regard VENDINFO as
  409.       partly a business opportunity. Although this makes a few people
  410.  
  411.  
  412.    VendPrcs Processor v1.21           -3-                          Mar 1995
  413.  
  414.  
  415.  
  416.  
  417.    VendPrcs User's Guide                           Introduction to VENDINFO
  418.  
  419.  
  420.       suspicious, most agree it's in the best interest of the VENDINFO
  421.       effort itself, and of the industry. In fact, VENDINFO has developed
  422.       rapidly, partly because it has been a full-time focus of its author
  423.       for many months. That wouldn't have been possible in an all-volunteer
  424.       effort.
  425.  
  426.       The VENDINFO file-format standard is public. A substantial period was
  427.       provided for public comment on the concept paper, and then on the
  428.       standard, and public input is always welcome. Some of the tools that
  429.       make use of the standard are free (a viewer for end users, and the
  430.       processor when used by single-line, noncommercial BBSes). Most are
  431.       low-cost shareware. There will also be much-enhanced, non-shareware
  432.       programs later, for special purposes, but none of them are necessary
  433.       to achieve the benefits of the VENDINFO system.
  434.  
  435.  
  436.    Industry Support and Endorsements
  437.    ---------------------------------
  438.  
  439.       Support for the VENDINFO concept has been extraordinarily high
  440.       throughout the industry. Authors, disk vendors, CD-ROM publishers,
  441.       Sysops, and BBS software manufacturers have all expressed their
  442.       support, and many have pledged to build VENDINFO capability into
  443.       their own software products.
  444.  
  445.       The following shareware trade groups have formally endorsed the
  446.       VENDINFO file-format standard as a means of conveying product and
  447.       product-distribution information from authors to users and dis-
  448.       tributors.
  449.  
  450.          Association of Shareware Professionals (ASP)
  451.          Shareware Trade Association and Resources (STAR)
  452.          Association of Shareware Authors and Developers (ASAD)
  453.          Educational Software CoOperative (ESC)
  454.  
  455.       The ASP has licensed the VENDINFO toolset for use by all 1700 of its
  456.       members. This will greatly accelerate the use -- and the usefulness
  457.       -- of VENDINFO.
  458.  
  459.       The following software manufacturers have "committed in principle" to
  460.       support VENDINFO in their own software offerings by mid-1994. In the
  461.       context of these products, "support" for VENDINFO means extracting
  462.       relevant descriptive information automatically from VENDINFO files.
  463.       It does not necessarily mean making decisions based on the product's
  464.       distribution policy. VendPrcs will provide that capability.
  465.  
  466.          BBSes
  467.  
  468.             PCBoard, Clark Development Co.
  469.  
  470.  
  471.    VendPrcs Processor v1.21           -4-                          Mar 1995
  472.  
  473.  
  474.  
  475.  
  476.    VendPrcs User's Guide                           Introduction to VENDINFO
  477.  
  478.  
  479.             Wildcat!, Mustang Software, Inc.
  480.             Major BBS, Galacticomm
  481.             RBBS, RBBS Development Team
  482.             Searchlight BBS, Searchlight Software
  483.             TBBS, eSoft
  484.             Auntie BBS, Wes Meier
  485.             Executive Host BBS, Steve Wood
  486.             MainLine BBS, Scott Green, City Limits Software
  487.             OmegaComm BBS, Larry Loiselle
  488.             PowerBBS for Windows, Russell Frey
  489.             ProBoard BBS, Philippe Leybaert
  490.             Sapphire BBS, Pinnacle Software
  491.             Tinyhost, Bruce Krobusek
  492.             UltraBBS, UltraBBS Software
  493.             Windowed Modem Environment, Jason Fesler
  494.  
  495.          File Upload Processors
  496.  
  497.             CatScan, Mike Ortiz
  498.             CheckZip, Bill Hull
  499.             DIZIT, Robert Neal/CorpSoft
  500.             HoboScan, Floyd Hobson
  501.           **THD Proscan, David Muir
  502.           **TransScan, Craig Dunstan
  503.  
  504.          File Distribution Processors
  505.  
  506.             WCFF, Online Computer Resources
  507.  
  508.          Other Products
  509.  
  510.           **BBSee Disk Cataloger, Martin Vallevand
  511.           **Catalog-on-a-Disk, EmmaSoft Software Company, Inc.
  512.             Colorado Utilities Disk Manager, Micro Systems Solutions
  513.           **SmartCat Disk Cataloger, Oakley Data Services
  514.  
  515.        * Test versions are known to exist which support VENDINFO
  516.       ** Released products support VENDINFO
  517.  
  518.  
  519.    Other VENDINFO Documents and Packages
  520.    -------------------------------------
  521.  
  522.       The VENDINFO idea is documented in detail in a concept paper and in
  523.       the VENDINFO file-format standard. These two documents are available
  524.       in the VENDINFO information package, usually named VNDINFxx.ZIP
  525.       (where xx represents the version number).
  526.  
  527.       The basic VENDINFO Toolkit (for authors and distributors) is avail-
  528.  
  529.  
  530.    VendPrcs Processor v1.21           -5-                          Mar 1995
  531.  
  532.  
  533.  
  534.  
  535.    VendPrcs User's Guide                           Introduction to VENDINFO
  536.  
  537.  
  538.       able in the VendTools package, usually named VNDNFOxx.ZIP. The
  539.       VendView viewer package, for end-users, is usually named
  540.       VNDVUExx.ZIP. The VendUtil package contains a collection of utilities
  541.       and other useful information, and is usually named VNDUTLxx.ZIP.
  542.  
  543.       All of these can be obtained from the Rams' Island BBS on first login
  544.       or by FidoNet or RIME file request. (FidoNet magic names for current
  545.       versions consist of just the alphabetic portion of the package
  546.       prefix, as VNDINF, VNDNFO, VNDVUE, and VNDUTL.) They are also avail-
  547.       able in the CompuServe SHAREWARE and UKSHARE forums; the ASP Hub
  548.       Network BBSes; many local BBSes around the world, including those
  549.       associated with the Software Distribution Network; from some disk
  550.       vendors; and on the ASP, JSC, and PsL CD-ROMs.
  551.  
  552.       If necessary, the concept paper and evaluation versions of the basic
  553.       toolset can be obtained on diskette from Rams' Island Software for
  554.       US$ 6.00 in North America, $8.00 elsewhere. Payment is accepted by
  555.       Visa/MasterCard, check in U.S. dollars drawn on a U.S. bank, cash in
  556.       any hard currency (registered mail suggested), and various other
  557.       forms. cal BBSes around the world, including those associated with
  558.       the Software Distribution Network; from some
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.    VendPrcs Processor v1.21           -6-                          Mar 1995
  590.  
  591.  
  592.  
  593.  
  594.    VendPrcs User's Guide                           Introduction to VendPrcs
  595.  
  596.  
  597.        
  598.                          +--------------------------+
  599.                          | Introduction to VendPrcs |
  600.                          +--------------------------+
  601.  
  602.       VendPrcs is a powerful, batch-oriented tool for extracting and using
  603.       information from VENDINFO records. VendPrcs provides many more
  604.       capabilities than will be needed by any single user, because:
  605.  
  606.            o  It is used in different ways by different user types (sysops,
  607.               disk vendors, CD-ROM publishers, authors, etc.), and
  608.  
  609.            o  The VENDINFO file contains a great deal of information
  610.               (roughly 750 fields).
  611.  
  612.       To avoid overloading the reader with a large number of command-line
  613.       options, we've broken the discussion down into several chapters, each
  614.       describing one way of using VendPrcs. Appendix A summarizes all the
  615.       command-line options, in case you need it for reference.
  616.  
  617.       There are four basic ways of using VendPrcs, and they are discussed
  618.       separately in the four chapters following "Installation".
  619.  
  620.            o  Extracting individual fields from the VENDINFO record, in
  621.               order to print them, enter them into a database, etc.
  622.  
  623.            o  Testing for the presence of specific (non-empty) fields in
  624.               the record.
  625.  
  626.            o  Testing for distribution permissions conveyed by the record.
  627.  
  628.            o  Using VendPrcs to assist in the disposition of packages, such
  629.               as routing them to different file areas on a BBS.
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.    VendPrcs Processor v1.21           -7-                          Mar 1995
  649.  
  650.  
  651.  
  652.  
  653.    VendPrcs User's Guide                                       Installation
  654.  
  655.  
  656.        
  657.                                +--------------+
  658.                                | Installation |
  659.                                +--------------+
  660.  
  661.       To install VendPrcs, simply copy VENDPRCS.EXE to a directory on your
  662.       path.
  663.  
  664.       If you will be extracting product category information from VENDINFO
  665.       records, you have the option of extracting either category code
  666.       numbers, such as
  667.  
  668.          14010200
  669.  
  670.       or the corresponding category text descriptions, such as
  671.  
  672.          Point-of-sale systems
  673.  
  674.       If you want the latter, you must also copy CATEGORY.INF to the same
  675.       directory to which you copied VENDPRCS.EXE.
  676.  
  677.       If you will be testing for distribution permissions, you may also
  678.       wish to copy the file VPRESULT.CFG into that same directory. You will
  679.       have to modify this file with a text editor. You may also want to
  680.       make a copy of CATEGORY.INF in that directory with the name
  681.       VPCATGRY.CFG, and modify it to the required form. See the chapter
  682.       "Package Routing and Disposition" for more information.
  683.  
  684.       You should also take a look at EXAMPLES.ZIP, an included ZIP file
  685.       containing examples of two kinds:
  686.  
  687.            o  Example VENDINFO files (*.DIZ), and the corresponding content
  688.               printouts (*.PRN).
  689.  
  690.            o  Example batch files (*.BAT) showing various ways of using
  691.               VendPrcs. These are also discussed in the chapter, "Putting
  692.               It All Together (Examples)".
  693.  
  694.  
  695.  
  696.    Quick Start
  697.    -----------
  698.  
  699.       There really isn't a very "quick" starting technique for VendPrcs.
  700.       Since it's a command-line oriented batch program, it has no on-line
  701.       help, and you'll have to become familiar with the command flags
  702.       necessary for your particular use of the program.
  703.  
  704.       Still, it will be quickest for you if you read the following chapters
  705.  
  706.  
  707.    VendPrcs Processor v1.21           -8-                          Mar 1995
  708.  
  709.  
  710.  
  711.  
  712.    VendPrcs User's Guide                                       Installation
  713.  
  714.  
  715.       of this User Guide
  716.  
  717.          Introduction to VENDINFO (earlier in this user guide)
  718.  
  719.          Introduction to VendPrcs (earlier in this user guide)
  720.  
  721.       and then read the chapter(s) devoted to the particular purposess for
  722.       which you will be using VendPrcs. Finally, read the "Putting It All
  723.       Together" chapter.
  724.  
  725.  
  726.    Detailed Contents of the VendPrcs Package
  727.    -----------------------------------------
  728.  
  729.       The VENDINFO toolset package contains all files required to use
  730.       either the VendEdit editor or the VendPrcs processor. This allows
  731.       either to be used to verify the functioning of the other. For a
  732.       complete list of files in the package, see VENDEDIT.DOC.
  733.  
  734.       The VENDINFO toolset package includes the following files that are
  735.       specifically relevant to the VendPrcs processor:
  736.  
  737.          VENDPRCS.DOC   This document.
  738.  
  739.          VENDPRCS.EXE   The VendPrcs executable program.
  740.  
  741.          VENDPRCS.HST   A brief update history of VendPrcs and related
  742.                         files.
  743.  
  744.          REGISTER.FRM   Registration form for VendPrcs, and several other
  745.                         products and services associated with the VENDINFO
  746.                         system.
  747.  
  748.          CATEGORY.INF   Product category information file, which defines
  749.                         the category code structure and maps the codes to
  750.                         readable text.
  751.  
  752.          VPRESULT.CFG   Sample VendPrcs configuration file defining direc-
  753.                         tories used by VendPrcs to move packages according
  754.                         to test results.
  755.  
  756.          EXTRACT.BAT    A batch file used for extracting all fields from a
  757.                         VENDINFO.DIZ record.
  758.  
  759.          EXTRDIST.BAT   A batch file used for extracting distribution
  760.                         policy information for a single channel from a
  761.                         VENDINFO.DIZ file. This batch file is called from
  762.                         EXTRACT.BAT.
  763.  
  764.  
  765.  
  766.    VendPrcs Processor v1.21           -9-                          Mar 1995
  767.  
  768.  
  769.  
  770.  
  771.    VendPrcs User's Guide                                       Installation
  772.  
  773.  
  774.          EXTRREGL.BAT   A batch file used for extracting information about
  775.                         distributors of your registered version. This batch
  776.                         file is called from EXTRACT.BAT.
  777.  
  778.          TESTDIST.BAT   A batch file used to perform a variety of distribu-
  779.                         tion policy tests on a VENDINFO.DIZ file.
  780.  
  781.          TESTDOZ.BAT    A batch file used to test a VENDINFO.DOZ file. This
  782.                         batch file extracts all special contents of these
  783.                         files, including embedded screenshots and other
  784.                         files.
  785.  
  786.          EXAMPLES.ZIP   PKZIP-compressed file containing VendPrcs example
  787.                         files (*.DIZ), corresponding printout of their
  788.                         content (*.PRN), and a few additional batch files
  789.                         illustrating uses of VendPrcs (*.BAT).
  790.  
  791.          VENDINFO.DIZ   The VENDINFO.DIZ file that describes this whole
  792.                         VENDINFO toolset package. As a further introduc-
  793.                         tion, it's worth viewing with a text viewer. It
  794.                         also contains the IMPORTANT warranty and license
  795.                         agreements applicable to use of VendPrcs.
  796.  
  797.  
  798.    Warranty and License
  799.    --------------------
  800.  
  801.       VendEdit and VendPrcs are shareware products, which you may fully
  802.       evaluate before deciding whether or not you wish to purchase them.
  803.       The Warranty and License governing your use of these products will be
  804.       found in the VENDINFO.DIZ file (read it or print it with the tools
  805.       you use for ordinary text files).
  806.  
  807.       The License Agreement for the VENDINFO toolset is a little more
  808.       complicated than most, and it is important that you familiarize
  809.       yourself with it. You'll find it in the VENDINFO.DIZ file that came
  810.       with the toolset, as well as in the VendEdit help system.
  811.  
  812.       In addition to the normal functions of a license agreement, this one
  813.       serves an important role in the VENDINFO system. By requiring authors
  814.       to agree to a few simple conditions, it helps protect the rights of
  815.       distributors and the confidence with which distributors can use the
  816.       VENDINFO system in a fully automated way. Similarly, distributors
  817.       must agree to a few conditions that help protect the author. Details
  818.       are explained in the license itself.
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.    VendPrcs Processor v1.21          -10-                          Mar 1995
  826.  
  827.  
  828.  
  829.  
  830.    VendPrcs User's Guide                                       Installation
  831.  
  832.  
  833.    Technical Support for VendPrcs
  834.    ------------------------------
  835.  
  836.       If you have a problem with installation or use of this product, and
  837.       the documentation doesn't provide the help you need, you are welcome
  838.       to contact us. You can do this in any of several ways.
  839.  
  840.       RAMS' ISLAND BBS
  841.  
  842.       The Rams' Island BBS is a bulletin board system, accessible to you if
  843.       if you have a modem and communication software. On our BBS, you will
  844.       always find the latest version of the program, and you will be able
  845.       to ask technical questions of us and of our other users. We also
  846.       offer additional utilities, class definitions, application notes, and
  847.       other assistance to registered users via the BBS. The BBS phone
  848.       number is 303-841-6269.
  849.  
  850.       COMPUSERVE INFORMATION SYSTEM
  851.  
  852.       We also support this product on the CompuServe information system.
  853.       The latest version of the program is always available there in the
  854.       SHAREWARE and UKSHARE forums, and technical questions and support
  855.       requests may be sent to us via electronic mail there or on the
  856.       CompuServe SHAREWARE and UKSHARE forums. Our CompuServe user ID is
  857.       76244,324.
  858.  
  859.       BBS NETWORK FORUMS
  860.  
  861.       We have established VENDINFO support forums on both the FidoNet and
  862.       RIME networks. We are investigating a VENDINFO forum on GlobalNet.
  863.  
  864.       OTHER ELECTRONIC ADDRESSES
  865.  
  866.       You can reach us through three other computer networks (you can
  867.       usually find a local BBS that's also on these networks).
  868.  
  869.          Our FidoNet address is 1:104/333.
  870.          Our RIME address is 1235 or RAMSISLE.
  871.          Our Internet address is 76244.324@compuserve.com.
  872.  
  873.       FAX
  874.  
  875.       You may reach us by FAX at 303-841-6269.
  876.  
  877.       VOICE TELEPHONE
  878.  
  879.       You may reach us by voice telephone at 303-841-2848.
  880.  
  881.  
  882.  
  883.  
  884.    VendPrcs Processor v1.21          -11-                          Mar 1995
  885.  
  886.  
  887.  
  888.  
  889.    VendPrcs User's Guide                                       Installation
  890.  
  891.  
  892.       MAIL
  893.  
  894.       You may contact us by mail at
  895.  
  896.          Rams' Island Software
  897.          7644 E. Lakecliff Way
  898.          Parker, Colorado 80134-5904
  899.          USA
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.    VendPrcs Processor v1.21          -12-                          Mar 1995
  944.  
  945.  
  946.  
  947.  
  948.    VendPrcs User's Guide                                  Extracting Fields
  949.  
  950.  
  951.        
  952.                 +---------------------------------------------+
  953.                 | Extracting Fields from a VENDINFO File (-x) |
  954.                 +---------------------------------------------+
  955.  
  956.       With very few exceptions, every field in a VENDINFO record has a
  957.       unique code by which it can be referenced. For example, the code for
  958.       a product name is "pp" (Appendix B contains a complete list of field
  959.       codes).
  960.  
  961.       The -x ("eXtract") command-line option causes field values to be
  962.       extracted. The -y and -z options specify further details of the
  963.       extraction operation.
  964.  
  965.  
  966.    Simple Extraction of a Field Value (-x)
  967.    ---------------------------------------
  968.  
  969.       Given the field code for a desired field, extraction of the value of
  970.       the field can be done with the -x ("eXtract") option. To obtain the
  971.       product name, for example, the command is
  972.  
  973.          vendprcs vendinfo.diz -xpp
  974.  
  975.       This command, expressed in plain English, would be, "Run VendPrcs on
  976.       the file VENDINFO.DIZ, extracting the value of the field 'pp'."
  977.       Execution of this command would cause the product name field to be
  978.       written to stdout (i.e., to the video screen unless standard output
  979.       has been redirected).
  980.  
  981.  
  982.    Multi-Line Field Values (-zr, -zc)
  983.    ----------------------------------
  984.  
  985.       Some fields, such as product descriptions, are inherently more than
  986.       one line long. In other cases (a keyword list, perhaps), you may
  987.       choose to extract a field in multiple lines, in order to limit the
  988.       width of the result. The -zc ("Columns") and -zr ("Rows") options
  989.       allow you to limit the width and height, respectively, of a multi-
  990.       line output.
  991.  
  992.       Here's a simple example:
  993.  
  994.          vendprcs vendinfo.diz -xpd -zc45 -zr10 > FILE_ID.DIZ
  995.  
  996.       This command causes VendPrcs to extract the largest product descrip-
  997.       tion ("pd") that will fit in 10 rows by 45 columns, and redirects the
  998.       result to FILE_ID.DIZ. This is a simple way to create a FILE_ID.DIZ
  999.       file from a VENDINFO.DIZ file, if needed. (Note that "pd" is a spe-
  1000.  
  1001.  
  1002.    VendPrcs Processor v1.21          -13-                          Mar 1995
  1003.  
  1004.  
  1005.  
  1006.  
  1007.    VendPrcs User's Guide                                  Extracting Fields
  1008.  
  1009.  
  1010.       cial field code meaning the largest description that will fit in the
  1011.       defined space.)
  1012.  
  1013.       VendPrcs uses word-wrapping whenever a column limit is specified.
  1014.  
  1015.       If the space allowed is less than the amount of information in the
  1016.       field, VendPrcs will fill the space using word-wrap, and ignore any
  1017.       remaining text. A typical example might be:
  1018.  
  1019.          vendprcs vendinfo.diz -xpk -zc40 -zr2
  1020.  
  1021.       which will produce a list of product keywords no more than 2 x 40
  1022.       characters in size.
  1023.  
  1024.       The -zc option can be used by itself, without a row limitation, in
  1025.       which case additional rows of the specified width will be produced
  1026.       until the entire field has been extracted.
  1027.  
  1028.  
  1029.    Indenting the Output (-zi)
  1030.    --------------------------
  1031.  
  1032.       Extracted output can be indented by any desired number of columns
  1033.       through use of the -zi ("Indent") option. For example, to produce a
  1034.       long product description with 5-character margins on an 80-column
  1035.       screen, this command would be used:
  1036.  
  1037.          vendprcs vendinfo.diz -xpd6 -zi5 -zc70
  1038.  
  1039.       This specifies a 5-column indentation on the left, and up to 70
  1040.       columns of actual text.
  1041.  
  1042.  
  1043.    Inserting in Other Text (-y, -zi)
  1044.    ---------------------------------
  1045.  
  1046.       In many cases, you may wish to surround an extracted value with other
  1047.       text. For example, you might want to precede the value with a label.
  1048.       Here's an example:
  1049.  
  1050.          vendprcs vendinfo.zip -xpp -y "Product Name: @" >> temp
  1051.  
  1052.       This command extracts the product name and places it in the "label
  1053.       string". If the label string contains a single "@" character, the
  1054.       extracted string will be substituted for it. Thus, the output of this
  1055.       command might be:
  1056.  
  1057.          Product Name: InContext
  1058.  
  1059.  
  1060.  
  1061.    VendPrcs Processor v1.21          -14-                          Mar 1995
  1062.  
  1063.  
  1064.  
  1065.  
  1066.    VendPrcs User's Guide                                  Extracting Fields
  1067.  
  1068.  
  1069.       If the character "@" is needed in the output, use a pair of "@"
  1070.       symbols. Thus,
  1071.  
  1072.          vendprcs vendinfo.diz -xpp -y "@@Product = @"
  1073.  
  1074.       might produce part of a Ventura Publisher text file containing a
  1075.       style tag ("@PRODUCT = ");
  1076.  
  1077.       The -y option can be used alone to simply echo text without reading a
  1078.       VENDINFO file or extracting any field values.
  1079.  
  1080.          vendprcs -y "Product Information" > TEMP
  1081.  
  1082.       The -y and -zi options can be used together, to control a multi-line
  1083.       extraction. For example, the command:
  1084.  
  1085.          vendprcs vendinfo.diz -xpd -zc45 -zr3 -zi13 -y "Description: "
  1086.  
  1087.       produces a description like:
  1088.  
  1089.          Description: Exemplar Sample Program V1.00. Does just
  1090.                       about everything, including bread baking and
  1091.                       lawn mowing. Shareware.
  1092.  
  1093.       Notice that the label string (-y) applies only to the first line of
  1094.       output. Notice also that, in the presence of the -y option, the
  1095.       indentation (-zi) applies only to subsequent lines of the same field.
  1096.  
  1097.  
  1098.    Special Format-Control Strings (-zd)
  1099.    ------------------------------------
  1100.  
  1101.       A few fields (dates and prices) can be produced under partial control
  1102.       of a user-specified format. Such formats are specified with the
  1103.       command-line option -zd ("Date", "Decimal"). For example,
  1104.  
  1105.          vendprcs vendinfo.diz -xpt -zd "mm/dd/yy"
  1106.  
  1107.       extracts the product's release date in the form usually encountered
  1108.       in the United States (e.g., 10/4/93). This is also the default format
  1109.       for dates, if no format-control string is given.
  1110.  
  1111.       A typical United Kingdom format is "dd-mm-yy". Any desired separator
  1112.       can be used, including blanks. The following symbols are used to
  1113.       indicate where the various components of the date are placed:
  1114.  
  1115.             d == day (1 to 31)
  1116.             m == month (1 to 12)
  1117.             M == month (Jan to Dec)
  1118.  
  1119.  
  1120.    VendPrcs Processor v1.21          -15-                          Mar 1995
  1121.  
  1122.  
  1123.  
  1124.  
  1125.    VendPrcs User's Guide                                  Extracting Fields
  1126.  
  1127.  
  1128.             y == year (2 digits if before 2080, else 4)
  1129.             Y == year (4 digits, as "1993")
  1130.  
  1131.       Repetition of the field characters is optional. Thus, "mm/dd/YYYY" is
  1132.       equivalent to "m/d/Y".
  1133.  
  1134.       Similarly, price information can be output using different characters
  1135.       for the decimal point. The default is ".". To use, say, a comma as
  1136.       the decimal-point symbol, you would use a command like:
  1137.  
  1138.          vendprcs vendinfo.diz -zi1p -zd ","
  1139.  
  1140.  
  1141.    Alternative TRUE/FALSE Strings (-zt, -zf)
  1142.    -----------------------------------------
  1143.  
  1144.       All extracted fields are returned as strings. This includes boolean
  1145.       (yes/no) fields, whose values are returned as either "TRUE" or
  1146.       "FALSE". You can cause VendPrcs to return other values for boolean
  1147.       variables, by specifying the strings on the command line, using the
  1148.       -zt ("True") and -zf ("False") options. Thus,
  1149.  
  1150.          vendprcs vendinfo.diz -xama -y "ASP member? @" -zt "Yes" -zf "No"
  1151.  
  1152.       might produce something like
  1153.  
  1154.          ASP member? Yes
  1155.  
  1156.       If you specify only a string for TRUE, output will be suppressed if
  1157.       the field value is FALSE (and vice versa). Thus
  1158.  
  1159.          vendprcs vendinfo.diz -xama -zt "(ASP)"
  1160.  
  1161.       might be used to add "(ASP)" to the end of a description.
  1162.  
  1163.  
  1164.    Multiple Extractions on One Line (-zn)
  1165.    --------------------------------------
  1166.  
  1167.       By default, each VendPrcs extraction produces a separate line of
  1168.       text. In some cases, though, you may wish to extract several field
  1169.       values within a single line of output. For this purpose, the -zn
  1170.       (suppress Newline) option is used. For example:
  1171.  
  1172.          vendprcs vendinfo.diz -xpp -zn -y "Product: @ " > TEMP
  1173.          vendprcs vendinfo.diz -xpe -zn >> TEMP
  1174.          vendprcs vendinfo.diz -xpv -zn -y " v@" >> TEMP
  1175.          vendprcs vendinfo.diz -xpt -y " (@)" >> TEMP
  1176.  
  1177.  
  1178.  
  1179.    VendPrcs Processor v1.21          -16-                          Mar 1995
  1180.  
  1181.  
  1182.  
  1183.  
  1184.    VendPrcs User's Guide                                  Extracting Fields
  1185.  
  1186.  
  1187.       produces an output like this:
  1188.  
  1189.          InContext Work Environment Manager v1.10 (2/19/93)
  1190.  
  1191.       The -zn feature can be used along with -zt to produce a list on one
  1192.       line. For example,
  1193.  
  1194.          vendprcs vendinfo.diz -y "Registration Benefits: " -zn
  1195.          vendprcs vendinfo.diz -xi1bad -zn -zt "A"
  1196.          vendprcs vendinfo.diz -xi1bbs -zn -zt "B"
  1197.          vendprcs vendinfo.diz -xi1bcu -zn -zt "C"
  1198.          ...
  1199.  
  1200.       can produce a list of single-character codes to indicate registration
  1201.       benefits in a catalog:
  1202.  
  1203.          Registration Benefits: ABFHPW
  1204.  
  1205.  
  1206.    Outputting in Quoted, Comma-Delimited Form (-zq)
  1207.    ------------------------------------------------
  1208.  
  1209.       The -zq option causes VendPrcs to generate its output in quoted,
  1210.       comma-delimited form. When this option is used:
  1211.  
  1212.            o  Any quotation marks (") in the extracted information are
  1213.               replaced by apostrophes (').
  1214.  
  1215.            o  The extracted information is placed in quotation marks (").
  1216.  
  1217.            o  If -zn is also used, a comma is generated after the output,
  1218.               but no new line is generated. This allows multiple outputs to
  1219.               be collected in a single line, to produce the sort of output
  1220.               commonly generated by spreadsheets and database managers.
  1221.  
  1222.            o  If -zr is also used, the specified number of output "lines"
  1223.               are produced even if it requires producing additional empty
  1224.               strings. In this case, however, the "lines" take the form of
  1225.               comma-delimited fields on a single line.
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.    VendPrcs Processor v1.21          -17-                          Mar 1995
  1239.  
  1240.  
  1241.  
  1242.  
  1243.    VendPrcs User's Guide                                  Extracting Fields
  1244.  
  1245.  
  1246.       For example, the sequence
  1247.  
  1248.          vendprcs vendinfo.diz -xan -zq -zn >> import.txt
  1249.          vendprcs vendinfo.diz -xac -zq -zn >> import.txt
  1250.          vendprcs vendinfo.diz -xaa -zr4 -zq -zn >> import.txt
  1251.          vendprcs vendinfo.diz -xap -zq >> import.txt
  1252.  
  1253.       might produce the following for import into a database
  1254.  
  1255.          "Pat Doe","Acme Co.","1 Main","Yuma AZ","","","999-555-1212"
  1256.  
  1257.       Occasionally, it may be necessary to produce a quoted field that's
  1258.       made up of multiple fields from the VENDINFO file. To assist with
  1259.       this, it's also possible to specify only a left quote (-zql), or only
  1260.       right (-zqr). The latter also produces a comma, if -zn is selected.
  1261.  
  1262.       For example, the sequence
  1263.  
  1264.          vendprcs vendinfo.diz -xpp -zql -zn >> import.txt
  1265.          vendprcs vendinfo.diz -xpe -zn -y " @ v" >> import.txt
  1266.          vendprcs vendinfo.diz -xpv -zqr -zn >> import.txt
  1267.          vendprcs vendinfo.diz -xpt -zq >> import.txt
  1268.  
  1269.       might produce
  1270.  
  1271.          "InContext Work Environment Manager v1.10","1/7/93"
  1272.  
  1273.  
  1274.    Changing Output to Upper Case (-zu)
  1275.    -----------------------------------
  1276.  
  1277.       To force all alphabetic characters in the extracted information into
  1278.       upper case, select the -zu option.
  1279.  
  1280.  
  1281.    Truncating and Padding to Exact Width (-zw, -zl)
  1282.    ------------------------------------------------
  1283.  
  1284.       The -zw ("Width") option specifies exact output width, and the field
  1285.       value is truncated or blank-padded to the specified width.
  1286.  
  1287.       If the -zl ("Left pad") option is also specified, any necessary
  1288.       padding is added at the left of the output.
  1289.  
  1290.       For example,
  1291.  
  1292.          vendprcs vendinfo.diz -xpp -zw12 -zl -zn
  1293.  
  1294.       can be used repeatedly to produce the filename column in a multi-
  1295.  
  1296.  
  1297.    VendPrcs Processor v1.21          -18-                          Mar 1995
  1298.  
  1299.  
  1300.  
  1301.  
  1302.    VendPrcs User's Guide                                  Extracting Fields
  1303.  
  1304.  
  1305.       column file list.
  1306.  
  1307.  
  1308.    Special Output Conventions (-zv)
  1309.    --------------------------------
  1310.  
  1311.       Ventura Publisher requires a special output convention in order to
  1312.       preserve the format of a multi-line field. The characters "<R>"
  1313.       indicate where a newline ("return") should be retained. The -zv
  1314.       ("Ventura") option causes multi-line fields to be output in this way.
  1315.       Thus,
  1316.  
  1317.          vendprcs vendinfo.diz -xaa -zv -y "@@ADDRESS = @"
  1318.  
  1319.       produces an output like
  1320.  
  1321.          @ADDRESS = Rams' Island Software<R>
  1322.          7644 E. Lakecliff Way<R>
  1323.          Parker, CO 80134-5904
  1324.  
  1325.       which will retain its 3-line shape when used as an input to Ventura.
  1326.  
  1327.       We will be happy to add additional codes for other ASCII-file-based
  1328.       word-processor or page-layout tools. Let us know what you need.
  1329.  
  1330.  
  1331.    Value Returned if Field is Empty
  1332.    --------------------------------
  1333.  
  1334.       If an attempt is made to extract the value of a field that is empty,
  1335.       the value "(none)" is returned.
  1336.  
  1337.  
  1338.    Special Extraction Formats (-s)
  1339.    -------------------------------
  1340.  
  1341.       VendPrcs is capable of producing fully formatted outputs for special
  1342.       purposes. At present, the only such output is a catalog entry for
  1343.       "Catalog-on-a-Disk", a shareware program from EmmaSoft Software
  1344.       Company, Inc. To produce such a catalog entry, use the command
  1345.  
  1346.          vendprcs <diz_file> -sc<control_string> -zr<rows>
  1347.  
  1348.       The optional control_string has the following form
  1349.  
  1350.          [c][#order_nbr][$price]
  1351.  
  1352.       where all components are optional. The "c" argument causes the com-
  1353.       pany name to be printed at the end of the description.
  1354.  
  1355.  
  1356.    VendPrcs Processor v1.21          -19-                          Mar 1995
  1357.  
  1358.  
  1359.  
  1360.  
  1361.    VendPrcs User's Guide                                  Extracting Fields
  1362.  
  1363.  
  1364.       If no order_nbr is given in the control string, and the diz_file is
  1365.       VENDINFO.DIZ, the resulting entry will contain no order number.
  1366.       Otherwise, the filename prefix will be used as the order number. The
  1367.       row specification (-zr) will control the total length of the catalog
  1368.       entry.
  1369.  
  1370.  
  1371.    Improving Performance During Multiple Extractions (-zk)
  1372.    -------------------------------------------------------
  1373.  
  1374.       The default behavior of VendPrcs, when doing an extraction, is to do
  1375.       the following each time it is invoked:
  1376.  
  1377.             1.  Read the entire VENDINFO file.
  1378.  
  1379.             2.  Extract the compressed data record to a temporary file
  1380.                 (VI_TEMP.ZIP).
  1381.  
  1382.             3.  Decompress ("unzip") the compressed data record, storing it
  1383.                 as another temporary file (VENDDATA.).
  1384.  
  1385.             4.  Read the data record, now decompressed, into memory.
  1386.  
  1387.             5.  Perform the extraction indicated by the command-line argu-
  1388.                 ments.
  1389.  
  1390.             6.  Delete the temporary files.
  1391.  
  1392.        If multiple extractions (or other operations) are being performed on
  1393.        the same VENDINFO file, it will be advantageous to perform opera-
  1394.        tions 1, 2, and 3, above, just once. That can be done using the -zk
  1395.        ("Keep") option. This option prevents the VENDDATA temporary file
  1396.        from being deleted, allowing it to be reused. Here's an example of
  1397.        the sequence:
  1398.  
  1399.           vendprcs vendinfo.diz -xpp -zk
  1400.           vendprcs venddata -xpe
  1401.           vendprcs venddata -xpv
  1402.           ...
  1403.           del venddata
  1404.  
  1405.        The -zk argument causes the uncompressed VENDDATA file to be
  1406.        retained. Because the subsequent VendPrcs invocations make use of
  1407.        the special filename "VENDDATA", they will make use of the already
  1408.        prepared VENDDATA file, and they will not delete that file. This can
  1409.        cut total execution time by more than 80%. Please note, however,
  1410.        that use of the VENDDATA filename automatically suppresses any tests
  1411.        that depend on the front text.
  1412.  
  1413.  
  1414.  
  1415.    VendPrcs Processor v1.21          -20-                          Mar 1995
  1416.  
  1417.  
  1418.  
  1419.  
  1420.    VendPrcs User's Guide                                  Extracting Fields
  1421.  
  1422.  
  1423.     Errorlevels Returned by Extraction Operations
  1424.     ---------------------------------------------
  1425.  
  1426.        The following errorlevels may be returned by VendPrcs as a result of
  1427.        extraction operations:
  1428.  
  1429.             Errorlevel             Meaning
  1430.  
  1431.                 1              An error has occurred.  This is probably
  1432.                                an incorrect field code, but it might be
  1433.                                due to other causes, in which case an error
  1434.                                message should be written to stderr.
  1435.  
  1436.                 10             VENDINFO file has wrong size or CRC for
  1437.                                either the text or data section, and may
  1438.                                be a hacked or corrupted file.
  1439.  
  1440.                 11             VENDINFO file has missing or invalid
  1441.                                author authentication codes, and may
  1442.                                be a hacked or corrupted file.
  1443.  
  1444.                 52             Extraction of a field value has been
  1445.                                requested, and performed successfully
  1446.                                (return of "(none)" for a missing value
  1447.                                is regarded as a success).
  1448.  
  1449.        It is a good idea to test for errorlevels 10 and 11 after the first
  1450.        VendPrcs command executed on a given VENDINFO file. Further tests
  1451.        for those particular errorlevels should be unnecessary.
  1452.  
  1453.  
  1454.     Extraction Examples
  1455.     -------------------
  1456.  
  1457.        Several batch files are provided with this toolset, both to provide
  1458.        specific capabilities, and to serve as examples. See especially
  1459.        EXTRACT.BAT, described below, and the later chapter, "Putting it All
  1460.        Together".
  1461.  
  1462.           EXTRACT.BAT    Extracts all field values from a VENDINFO file,
  1463.                          writing them with labels to the file TEMP. This
  1464.                          batch file contains examples of many of the fea-
  1465.                          tures discussed in this chapter. It also serves as
  1466.                          an excellent verification tool for authors who
  1467.                          have prepared a VENDINFO file. (Be warned! This
  1468.                          procedure takes awhile to run!)
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.    VendPrcs Processor v1.21          -21-                          Mar 1995
  1475.  
  1476.  
  1477.  
  1478.  
  1479.    VendPrcs User's Guide                                     Testing Fields
  1480.  
  1481.  
  1482.         
  1483.                        +-------------------------------+
  1484.                        | Testing for Field Values (-e) |
  1485.                        +-------------------------------+
  1486.  
  1487.       The -e ("Exists") option is used, together with the field code (see
  1488.       Appendix B) to test for the presence of useable information in a
  1489.       field.
  1490.  
  1491.  
  1492.    Errorlevels Returned by Field Tests
  1493.    -----------------------------------
  1494.  
  1495.       When used in this way, VendPrcs returns one of the following error-
  1496.       levels, which can be tested in a batch file:
  1497.  
  1498.          Errorlevel             Meaning
  1499.  
  1500.              1              An error has occurred.  This is probably
  1501.                             an incorrect field code, but it might be
  1502.                             due to other causes, in which case an error
  1503.                             message is written to stderr.
  1504.  
  1505.              10             VENDINFO file has wrong size or CRC for
  1506.                             either the text or data section, and may
  1507.                             be a hacked or corrupted file.
  1508.  
  1509.              11             VENDINFO file has missing or invalid
  1510.                             author authentication codes, and may
  1511.                             be a hacked or corrupted file.
  1512.  
  1513.              50             A test for existence of a field value
  1514.                             has been requested, and the result is
  1515.                             TRUE.
  1516.  
  1517.              51             A test for existence of a field value
  1518.                             has been requested, and the result is
  1519.                             FALSE.
  1520.  
  1521.       It is a good idea to test for errorlevels 10 and 11 after the first
  1522.       VendPrcs command executed on a given VENDINFO file. Further tests for
  1523.       those particular errorlevels should be unnecessary.
  1524.  
  1525.  
  1526.    Testing Fields That Can Be Missing
  1527.    ----------------------------------
  1528.  
  1529.       For the text fields in a VENDINFO record, and a few others, it is
  1530.       physically possible to have an "empty" field. For example, the
  1531.  
  1532.  
  1533.    VendPrcs Processor v1.21          -22-                          Mar 1995
  1534.  
  1535.  
  1536.  
  1537.  
  1538.    VendPrcs User's Guide                                     Testing Fields
  1539.  
  1540.  
  1541.       author's "Delphi user ID" field would be empty if the author had no
  1542.       Delphi user ID.
  1543.  
  1544.       No harm is necessarily done if you extract (-x) the value of an empty
  1545.       field; the value "(none)" is returned. However, if you wish to test a
  1546.       field for presence of a value, you need to use the -e option. Thus,
  1547.       the batch file segment
  1548.  
  1549.          vendprcs vendinfo.diz -eaed
  1550.          if errorlevel 51 goto nodelphi
  1551.          ... <executed if Delphi ID exists>
  1552.          :nodelphi
  1553.  
  1554.       illustrates a test for the presence of an author's Delphi electronic
  1555.       address.
  1556.  
  1557.  
  1558.    Testing Boolean Fields
  1559.    ----------------------
  1560.  
  1561.       Many fields in a VENDINFO record are "boolean" fields. That is, they
  1562.       always have a value, and the value is either "TRUE" or "FALSE". Since
  1563.       these fields always have a value, a test for existence of the value
  1564.       would be irrelevant. Therefore, VendPrcs returns the value itself,
  1565.       when such a field is tested using the -e option.
  1566.  
  1567.       For example,
  1568.  
  1569.          vendprcs vendinfo.diz -eams
  1570.          if errorlevel 51 goto nostar
  1571.          ... <executed if STAR member>
  1572.          :nostar
  1573.  
  1574.       tests whether or not the author/publisher is a member of the STAR
  1575.       trade association.
  1576.  
  1577.       If it isn't clear to you whether or not a particular field is
  1578.       boolean, you can find out by looking at the descriptive text for the
  1579.       field in Appendix B. If it ends in a question mark,
  1580.  
  1581.          ams    Shareware Trade Association and Resources (STAR)?
  1582.  
  1583.       the field is boolean.
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.    VendPrcs Processor v1.21          -23-                          Mar 1995
  1593.  
  1594.  
  1595.  
  1596.  
  1597.    VendPrcs User's Guide                                     Testing Fields
  1598.  
  1599.  
  1600.    Testing Other Always-Present Fields
  1601.    -----------------------------------
  1602.  
  1603.       There are other types of fields that always have a value. A price,
  1604.       for example, can be meaningful even if its value is zero. Platform
  1605.       features always have a value, even if it's "Irrelevant" or "Unknown".
  1606.       For such fields, a -e existence test is meaningless, and always
  1607.       returns a TRUE value.
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.    VendPrcs Processor v1.21          -24-                          Mar 1995
  1652.  
  1653.  
  1654.  
  1655.  
  1656.    VendPrcs User's Guide                                  Special DOZ Files
  1657.  
  1658.  
  1659.        
  1660.        +--------------------------------------------------------------+
  1661.        | Accessing DOZ Files for CD-ROMs, Media Kits, etc. (-xc, -ec) |
  1662.        +--------------------------------------------------------------+
  1663.  
  1664.       There is a specialized version of the VENDINFO file, called
  1665.       VENDINFO.DOZ (for Description Out of Zip), which can contain addi-
  1666.       tional information for use by CD-ROM front ends, as an electronic
  1667.       media kit, and for other uses. This file is not intended to be in-
  1668.       cluded inside a distributed product package (that's what the DIZ, or
  1669.       Description In Zip, is for). Rather, the DOZ file is intended to be
  1670.       submitted by the author directly to CD-ROM publishers, journalists,
  1671.       etc.
  1672.  
  1673.       In addition to the normal contents of a VENDINFO.DIZ file, the
  1674.       VENDINFO.DOZ file can (at the author's option) contain information
  1675.       for the use of CD-ROM front ends, including:
  1676.  
  1677.            o  Preferred diskette volume label, for use when a vendor or
  1678.               user diskette is generated directly from the CD-ROM.
  1679.  
  1680.            o  Filename of executable program (and package number, in case
  1681.               product has multiple parts.
  1682.  
  1683.            o  Demo program filename and package number, if any.
  1684.  
  1685.            o  Setup program filename and package number, if any.
  1686.  
  1687.            o  User document filename and package number.
  1688.  
  1689.            o  Order form filename and package number.
  1690.  
  1691.            o  Author number (if assigned by distributor). Some CD-ROM
  1692.               publishers may wish to assign unique author numbers to their
  1693.               contributors. At present, the only CD-ROM known to be using
  1694.               this approach is the ASP CD-ROM, and the author numbers are
  1695.               the ASP's membership numbers.
  1696.  
  1697.            o  Product number (assigned sequentially by author to author's
  1698.               own products, starting with 1).
  1699.  
  1700.            o  Preferred installation directory name
  1701.  
  1702.       The VENDINFO.DOZ file can also contain embedded, compressed files for
  1703.       use by CD-ROM front ends, in media kits, etc., and by future versions
  1704.       of the free VendView VENDINFO file viewer (especially the Windows
  1705.       version now under development. These files may be in various formats,
  1706.       indicated by their filename extensions. Examples include BMP, PCX,
  1707.       and TIF for graphical files, TXT, HLP, and WRI for text or hypertext
  1708.  
  1709.  
  1710.    VendPrcs Processor v1.21          -25-                          Mar 1995
  1711.  
  1712.  
  1713.  
  1714.  
  1715.    VendPrcs User's Guide                                  Special DOZ Files
  1716.  
  1717.  
  1718.       documents, WAV and MDI for sound samples, etc. The files which can be
  1719.       included are:
  1720.  
  1721.            o  Up to three screenshots.
  1722.  
  1723.            o  Up to three icons.
  1724.  
  1725.            o  Up to three sound samples.
  1726.  
  1727.            o  Advertisement or boot screen
  1728.  
  1729.            o  Company logo
  1730.  
  1731.            o  Press release
  1732.  
  1733.            o  Reviewer guidelines
  1734.  
  1735.            o  Company background
  1736.  
  1737.            o  Author biography
  1738.  
  1739.            o  Product information sheet (features list, etc.)
  1740.  
  1741.            o  Question-and-answer sheet
  1742.  
  1743.            o  Up to four miscellaneous files of the author's choice.
  1744.  
  1745.       In addition to the files themselves, you can extract several pieces
  1746.       of information about each file, including:
  1747.  
  1748.            o  The filename by which the file is stored in, and extracted
  1749.               from, the DOZ file. This filename has the original filename
  1750.               extension used by the author. The filename prefix consists of
  1751.               up to seven characters associated with the product name, and
  1752.               one character indicating the purpose of the specific file.
  1753.               Thus, for example, the first screenshot file for the product
  1754.               MYPRD11 might be MYPRD11A.PCX.
  1755.  
  1756.            o  An author-provided description of the file (up to about 79
  1757.               characters in length).
  1758.  
  1759.            o  A "set number" which allows a smart viewer or CD-ROM front-
  1760.               end to present a screenshot and sound sample in response to
  1761.               selection of their associated icon. If a screenshot, icon,
  1762.               and sound sample have the same set number, they are assumed
  1763.               to be so associated. Set numbers are single digits from 1
  1764.               through 9.
  1765.  
  1766.       Access to this special information uses the conventions already
  1767.  
  1768.  
  1769.    VendPrcs Processor v1.21          -26-                          Mar 1995
  1770.  
  1771.  
  1772.  
  1773.  
  1774.    VendPrcs User's Guide                                  Special DOZ Files
  1775.  
  1776.  
  1777.       discussed in the sections on "Extracting Fields from a VENDINFO File"
  1778.       and "Testing for Field Values". The field codes starting with "c" are
  1779.       all special DOZ fields. For example, the following sequence tests for
  1780.       the presence of a screenshot file, and extracts its filename,
  1781.       description, set number, and the file itself, if it exists. (Checking
  1782.       for errors is omitted. See TESTDOZ.BAT for a complete example.)
  1783.  
  1784.          vendprcs VENDINFO.DOZ -zk -ecffa -na
  1785.          if errorlevel 51 goto fa_done
  1786.          vendprcs VENDDATA -xcffa -y "Screenshot 1 filename: @" -na
  1787.          vendprcs VENDDATA -xcfda -y " description: @" -na
  1788.          vendprcs VENDDATA -xcfna -y " set number: @" -na
  1789.          vendprcs VENDDATA -xcfxa -na
  1790.          :fa_done
  1791.  
  1792.       We offer a special "single-use" license, intended for use by CD-ROM
  1793.       publishers and in other similar situations. The publisher arranges
  1794.       with us to receive a "single-use" key, and provides it (perhaps along
  1795.       with VendEdit) to authors who will be submitting material for the
  1796.       publisher's use. The single-use license allows those authors to use
  1797.       VendEdit to prepare a VENDINFO.DOZ file without registering VendEdit
  1798.       themselves. They submit the file to the publisher, who uses it for
  1799.       his own processing. This typically involves a small fee per use, paid
  1800.       by the publisher, who almost certainly eliminates processing costs in
  1801.       excess of the fee, and obtains materials in a form suitable for use
  1802.       by both his database software and smart front-end programs. Contact
  1803.       Rams' Island Software for additional information.
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.    VendPrcs Processor v1.21          -27-                          Mar 1995
  1829.  
  1830.  
  1831.  
  1832.  
  1833.    VendPrcs User's Guide                               Distribution Testing
  1834.  
  1835.  
  1836.        
  1837.                  +------------------------------------------+
  1838.                  | Testing for Distribution Permission (-d) |
  1839.                  +------------------------------------------+
  1840.  
  1841.       To test for distribution permission, you simply describe the proposed
  1842.       distribution using command-line flags. VendPrcs compares the proposed
  1843.       distribution with the product's distribution policy, and indicates
  1844.       the result by DOS errorlevel and via a readable log. The DOS error-
  1845.       level indicates whether or not the distribution is allowed, and
  1846.       whether or not any additional conditions must be satisfied. The
  1847.       readable log contains a fairly detailed record, allowing you to
  1848.       easily see the details of any unsatisfied condition.
  1849.  
  1850.       Here's a simple example:
  1851.  
  1852.          vendprcs vendinfo.diz -db -c0
  1853.  
  1854.       In plain English, this says, "I propose to distribute this product to
  1855.       end users via a BBS; no charges are made to users for use of the BBS
  1856.       or for downloading the product; is this OK?"
  1857.  
  1858.       Here's a much more sophisticated example, just to help you see the
  1859.       scope of the automated distribution testing provided by VendPrcs.
  1860.  
  1861.          vendprcs vendinfo.diz -dd -ck500 -cp500 -cy0 -mh -oisdop -os -ta
  1862.  
  1863.       In plain but rather lengthy English, this says, "I propose to dis-
  1864.       tribute this product to end users as a mail-order disk vendor; I
  1865.       charge no more than US$ 5 per 360K diskette or equivalent, no more
  1866.       than US$ 5 per product, and no yearly (monthly, etc.) subscription or
  1867.       membership fee; the product will be distributed on a single-product,
  1868.       high-density diskette; the customer will be informed that the product
  1869.       is shareware, informed of the nature of shareware, informed that I
  1870.       claim no ownership of the product, and informed that separate payment
  1871.       to the author is required if the product is used outside the author's
  1872.       evaluation terms; I will provide the author with a sample of my
  1873.       catalog or of his catalog description; I am an ASP vendor member; is
  1874.       this OK?"
  1875.  
  1876.       VendPrcs is easy to use within a batch file. Once you have determined
  1877.       the command-line switches that describe how you distribute shareware
  1878.       products, and the errorlevels that may result, you should be able to
  1879.       develop a fully automated procedure that can handle all the
  1880.       straightforward cases automatically, and which can call your atten-
  1881.       tion to the others for manual handling. The latter cases will be much
  1882.       easier to handle than without VendPrcs, because all or most of the
  1883.       necessary information will be extracted from the author's distribu-
  1884.       tion policy and written to the log file.
  1885.  
  1886.  
  1887.    VendPrcs Processor v1.21          -28-                          Mar 1995
  1888.  
  1889.  
  1890.  
  1891.  
  1892.    VendPrcs User's Guide                               Distribution Testing
  1893.  
  1894.  
  1895.    Philosophy Regarding Distribution Restrictions
  1896.    ----------------------------------------------
  1897.  
  1898.       Both authors and distributors will make more effective use of the
  1899.       VENDINFO system if they understand the point of view from which the
  1900.       system was designed. That point of view is outlined below.
  1901.  
  1902.       Regarding distribution restrictions by author/publishers:
  1903.  
  1904.            o  The author should be able to express any possible distribu-
  1905.               tion restrictions, regardless of whether or not such restric-
  1906.               tions are well-advised.
  1907.  
  1908.            o  Common and/or reasonable restrictions should be encoded in
  1909.               the VENDINFO record in such a way that automated tools can
  1910.               deal with them.
  1911.  
  1912.            o  Other distribution restrictions should be expressible in text
  1913.               form, even if their presence will force conscientious dis-
  1914.               tributors to handle the package manually.
  1915.  
  1916.            o  None of this should be taken as an encouragement for authors
  1917.               to impose distribution restrictions. In many cases, the
  1918.               documentation and help text of the VendEdit editor explicitly
  1919.               discourage restrictions. As an example, the author is advised
  1920.               to consider carefully before imposing ANY restriction on BBS
  1921.               distribution.
  1922.  
  1923.            o  Authors will especially be warned against unnecessary use of
  1924.               options that force manual handling by distributors.
  1925.  
  1926.       Regarding testing for distribution permission:
  1927.  
  1928.            o  In general, a proposed distribution is assumed to be NOT
  1929.               allowed until the distributor clearly addresses each condi-
  1930.               tion required by a product's distribution policy. This isn't
  1931.               done to constrain distribution or to make life difficult for
  1932.               distributors. It is done to protect all parties from acci-
  1933.               dents, misunderstanding, and even legal liability. Thus, if a
  1934.               product can be distributed by a disk vendor only if the per-
  1935.               disk charge is less than $10, VendPrcs will not "OK" the
  1936.               distribution because the vendor fails to mention the amount
  1937.               charged.
  1938.  
  1939.       There are a LOT of command-line switches in VendPrcs, but most dis-
  1940.       tributors will find it quite simple to select the options applicable
  1941.       to their particular situations. The VendPrcs log will help here, by
  1942.       showing what conditions haven't been satisfied, along with the op-
  1943.       tions that would have satisfied them. This will help the distributor
  1944.  
  1945.  
  1946.    VendPrcs Processor v1.21          -29-                          Mar 1995
  1947.  
  1948.  
  1949.  
  1950.  
  1951.    VendPrcs User's Guide                               Distribution Testing
  1952.  
  1953.  
  1954.       to fully describe the situation, gradually eliminating unnecessary
  1955.       manual handling.
  1956.  
  1957.  
  1958.    Algorithm Used for Distribution Permission Tests
  1959.    ------------------------------------------------
  1960.  
  1961.       Based on the information you provide on the VendPrcs command line,
  1962.       and the distribution policy specified in the VENDINFO file, VendPrcs
  1963.       determines whether or not your proposed distribution satisfies the
  1964.       author's requirements. To do this, VendPrcs looks at the author's
  1965.       policy for the particular distribution channel you've indicated, as
  1966.       well as the channel-independent ("general") distribution restrictions
  1967.       in the VENDINFO file. The actual decision process works as follows.
  1968.       (The important thing to understand is the last step, but you may find
  1969.       it useful to understand the whole decision process.)
  1970.  
  1971.            o  If distribution via the proposed channel is prohibited, then
  1972.               "reject".
  1973.  
  1974.            o  See if distributor is "qualified". The author might indicate
  1975.               that all distributors are qualified. If not, you must meet at
  1976.               least one of the author's qualification criteria to be in
  1977.               this set. Example criteria are: ASP member, non-profit user
  1978.               group, agreeing to "fully inform" your customers.
  1979.  
  1980.            o  If distributor is "qualified", see if any specific behavior
  1981.               removes this "qualified" status, such as charging customers
  1982.               more than allowed.
  1983.  
  1984.            o  Distributor is now either "qualified" or "disqualified". The
  1985.               meaning of this distinction is specified by the author. There
  1986.               are three possibilities:
  1987.  
  1988.                  1. Qualified may distribute without written permission.
  1989.                     Disqualified may distribute only with written
  1990.                     permission.
  1991.  
  1992.                  2. Qualified may distribute without written permission.
  1993.                     Disqualified may not distribute at all. (Obviously,
  1994.                     with the author's written permission, you can do
  1995.                     anything you want; what the author is really telling
  1996.                     you is that written permission won't be given.)
  1997.  
  1998.                  3. Qualified must still have written permission.
  1999.                     Others may not distribute at all.
  2000.  
  2001.            o  Based on your qualified/disqualified status, VendPrcs deter-
  2002.               mines whether or not you need written permission, and whether
  2003.  
  2004.  
  2005.    VendPrcs Processor v1.21          -30-                          Mar 1995
  2006.  
  2007.  
  2008.  
  2009.  
  2010.    VendPrcs User's Guide                               Distribution Testing
  2011.  
  2012.  
  2013.               or not your proposed distribution is prohibited. If written
  2014.               permission is required, VendPrcs determines whether or not
  2015.               you've obtained it; if not, this requirement is noted in the
  2016.               log and will affect the errorlevel returned by VendPrcs.
  2017.  
  2018.            o  If the distribution is allowed, either with or without writ-
  2019.               ten permission, VendPrcs looks for any additional author-
  2020.               specified conditions you must satisfy, and determines from
  2021.               the command-line flags whether or not you've satisfied them.
  2022.               If any conditions remain unsatisfied (including conditions
  2023.               specified by the author in text form), they are noted in the
  2024.               log and will affect the errorlevel returned by VendPrcs.
  2025.  
  2026.            o  Unless you've disabled VendPrcs testing of executables, all
  2027.               *.EXE, *.COM, *.DLL, *.LIB, etc. files in the package are
  2028.               scanned for VENDINFO records, and a similar decision process
  2029.               is applied to any that are found. This feature is used to
  2030.               detect registered-user versions and commercial and other
  2031.               software not intended for further distribution. (See the
  2032.               later section, "Testing for VENDINFO-Branded Executables".
  2033.  
  2034.            o  VendPrcs now informs you by DOS errorlevel that:
  2035.  
  2036.                  1. Distribution is prohibited by the VENDINFO file.
  2037.                  2. Distribution is prohibited by some included executable.
  2038.                  3. Distribution is OK if you satisfy additional
  2039.                     requirements.
  2040.                  4. Distribution is OK if you obtain written permission.
  2041.                  5. Distribution is OK if you obtain written permission AND
  2042.                     satisfy additional requirements.
  2043.                  6. Distribution is approved as-is.
  2044.  
  2045.  
  2046.  
  2047.    Proposed Distribution Channel (-d)
  2048.    ----------------------------------
  2049.  
  2050.       The most fundamental information you need to specify is the proposed
  2051.       distribution channel. The -d<channel> command-line option allows you
  2052.       to indicate this using a one-letter code, as follows:
  2053.  
  2054.          b = Bbs
  2055.          f = bbs File-distribution network (FDN)
  2056.          d = mail order Disk vendor
  2057.          c = Cd-rom
  2058.          o = One-site rack vendor
  2059.          r = multi-site Rack distributor
  2060.          k = booK enclosure disk
  2061.          s = Subscription service
  2062.  
  2063.  
  2064.    VendPrcs Processor v1.21          -31-                          Mar 1995
  2065.  
  2066.  
  2067.  
  2068.  
  2069.    VendPrcs User's Guide                               Distribution Testing
  2070.  
  2071.  
  2072.          m = Magazine
  2073.          t = Television/cable/satellite and similar
  2074.          p = 1-900 Phone distribution or similar
  2075.          i = Installation by distributor on end-user's machine
  2076.          u = other method Undescribed by above
  2077.  
  2078.       Thus, a sysop would include
  2079.  
  2080.          -db
  2081.  
  2082.       on the command line, while a mail-order disk vendor would include
  2083.  
  2084.          -dd
  2085.  
  2086.       There are a few special definitions that allow similar or unusual
  2087.       distribution channels to be covered by the list above.
  2088.  
  2089.          BBS           Distribution to End User by BBS.  Distribution *to*
  2090.                        BBSes is covered by separate channels, especially FDN.
  2091.                        Note: if a sysop wishes to send products to users via
  2092.                        means other than download (e.g., mailed on diskette),
  2093.                        it is necessary to use the -md flag.
  2094.  
  2095.          FDN           File Distribution Network Distribution *to* BBSes.
  2096.                        Note: if an FDN uses non-electronic means, such as
  2097.                        CD-ROM or tape, for distribution, it is necessary to
  2098.                        use the -mc and/or -mo flags.
  2099.  
  2100.          Disk          Distribution to End User by Mail-Order Disk Vendor.
  2101.                        The defining properties of this medium include
  2102.                        providing selected products (rather than a complete
  2103.                        set, as on a CD-ROM) by mail, with or without a
  2104.                        catalog from which to order.
  2105.  
  2106.          CD-ROM        Distribution by CD-ROM, Tape, or Other Mass Media
  2107.                        (except when used strictly within a BBS File
  2108.                        Distribution Network).  This form of distribution
  2109.                        may target end users, BBS sysops, and/or other
  2110.                        distributors.  Since authors often restrict one or
  2111.                        more of these specific targets, it is necessary to
  2112.                        indicate if you are NOT selling to one or more
  2113.                        of these, using the -mcb, -mcd, and/or -mcu flags.
  2114.  
  2115.          One-site      Distribution by Single-Site Rack Vendor, by actual
  2116.                        rack, shoebox, vending machine, diskettes on
  2117.                        cardboard, or any other such mechanism.  The
  2118.                        essential idea is that shareware versions are made
  2119.                        available on a physical medium via a single retail
  2120.                        site.
  2121.  
  2122.  
  2123.    VendPrcs Processor v1.21          -32-                          Mar 1995
  2124.  
  2125.  
  2126.  
  2127.  
  2128.    VendPrcs User's Guide                               Distribution Testing
  2129.  
  2130.  
  2131.          Rack          Distribution to Retail Sites by Rack Distributor.
  2132.                        This channel concerns those rack distributors who
  2133.                        provide shareware products to multiple stores.  The
  2134.                        stores may or may not have a corporate connection to
  2135.                        the distributor himself.  The most important form of
  2136.                        such distribution involves ready-made racks that are
  2137.                        provided by the distributor for placement in the
  2138.                        stores.  Other similar forms are also included in
  2139.                        this category.  For example, there are CD-ROM-based
  2140.                        vending machines now available for placement in retail
  2141.                        stores.  The essential idea here is that a distributor
  2142.                        acts as a wholesaler to multiple stores, which sell
  2143.                        individual copies of software packages directly to end
  2144.                        users.
  2145.  
  2146.          Book          Distribution in Book Enclosure Diskette.
  2147.  
  2148.          Subscription  Distribution by Subscription Service.  These are
  2149.                        shareware services that distribute selected shareware
  2150.                        packages to their subscribers, perhaps on a monthly
  2151.                        basis.
  2152.  
  2153.          Magazine      Distribution in Magazine Cover Diskette.
  2154.  
  2155.          TV            Distribution by TV/Cable/Satellite, etc.  This channel
  2156.                        includes television broadcast, cable and satellite
  2157.                        transmission, Videotex, and other similar means of
  2158.                        distributing information.
  2159.  
  2160.          Phone         Distribution by 1-900-Type Phone Service.
  2161.  
  2162.          Install       Distribution by Installing in Customer's Machine.
  2163.                        Some people like to distribute shareware products by
  2164.                        actually installing them on the customer's machine.
  2165.                        Prime examples are hardware dealers, who may "load up"
  2166.                        their machines with software and consultants, who may
  2167.                        be employed to help find the right software for the
  2168.                        user, and to set it up to run.
  2169.  
  2170.          Undescribed   Distribution by Other Methods than Covered Here.
  2171.  
  2172.  
  2173.    Charges Made for Distribution Services (-c)
  2174.    -------------------------------------------
  2175.  
  2176.       Many shareware authors place limits on the amount of money that
  2177.       distributors may charge for the shareware (evaluation) versions of
  2178.       their products. The theory these authors are operating under is this:
  2179.       If the user has paid a large fee for the evaluation version, he will
  2180.  
  2181.  
  2182.    VendPrcs Processor v1.21          -33-                          Mar 1995
  2183.  
  2184.  
  2185.  
  2186.  
  2187.    VendPrcs User's Guide                               Distribution Testing
  2188.  
  2189.  
  2190.       feel that he has already purchased the product, or that he is being
  2191.       abused by excessive charges. Such users probably don't register.
  2192.  
  2193.       The VENDINFO system handles such limitations as follows. The author
  2194.       specifies, for each distribution channel, the highest fee (in U.S.
  2195.       cents) allowed in each of the following categories:
  2196.  
  2197.            per product    (self-explanatory)
  2198.  
  2199.            per 360K unit  This covers both per-diskette charges by disk
  2200.                           vendors and per-hour download charges by BBSes,
  2201.                           telephone and TV/cable services, etc.
  2202.  
  2203.            per CD-ROM     (if applicable)
  2204.  
  2205.            per year       This covers subscription charges, by year, month,
  2206.                           etc., to be a subscriber to a BBS, magazine,
  2207.                           disk-vendor catalog, shareware subscription
  2208.                           service, etc.
  2209.  
  2210.       The distributor then specifies the amount actually charged in each
  2211.       category, using the command-line options indicated below. All charges
  2212.       are expressed in U.S. cents (dollars times 100), regardless of the
  2213.       actual currency used (currency conversion tables are not generally
  2214.       available to VendPrcs at execution time). All volume-based charges
  2215.       are expressed in 360K units, regardless of the actual unit used. All
  2216.       subscription fees are expressed per year, regardless of the actual
  2217.       subscription period.
  2218.  
  2219.          -c0             Distributor will not charge users at all.  This
  2220.                          is equivalent to "-cc0 -ck0 -cp0 -cy0".
  2221.  
  2222.          -cc<amount>     Charge per CD-ROM will not exceed amount (US cents)
  2223.          -ck<amount>     Charge per 360K will not exceed amount (US cents)
  2224.          -cp<amount>     Charge per product will not exceed amount (US cents)
  2225.          -cy<amount>     Charge per year will not exceed amount (US cents)
  2226.  
  2227.       VendPrcs then compares the distribution policy with the proposed
  2228.       distribution, and "rejects" any distribution that would violate the
  2229.       product's distribution license. Notice that even zero chages must be
  2230.       indicated, since erroneous rejections can otherwise occur. Suppose,
  2231.       for example, that you run a BBS with a $50 annual subscription fee,
  2232.       and no other user charges. Suppose, further, that the product allows
  2233.       unlimited subscription fees, but places limits on single-product or
  2234.       volume-based download charges. If you fail to indicate that you do
  2235.       NOT make such charges, by including
  2236.  
  2237.          -ck0 -cp0
  2238.  
  2239.  
  2240.  
  2241.    VendPrcs Processor v1.21          -34-                          Mar 1995
  2242.  
  2243.  
  2244.  
  2245.  
  2246.    VendPrcs User's Guide                               Distribution Testing
  2247.  
  2248.  
  2249.       on the command line, VendPrcs will "reject" the distribution.
  2250.  
  2251.  
  2252.    Distributor "Type" (-t)
  2253.    -----------------------
  2254.  
  2255.       In addition to information about a proposed distribution, information
  2256.       about the distributor itself can affect permission to distribute.
  2257.       Here are the relevant command-line options:
  2258.  
  2259.          -ta   ASP member of appropriate member class
  2260.          -tc   Consultant paid to select/evaluate/install products
  2261.          -th   Hardware dealer bundling with hardware
  2262.          -tn   Non-profit user group
  2263.          -tu   User group
  2264.  
  2265.  
  2266.    Indicating Details of the Distribution Medium (-m)
  2267.    --------------------------------------------------
  2268.  
  2269.       When physical media are used to distribute the products (diskettes,
  2270.       CD-ROMs, tapes, etc.), it is necessary to indicate some things about
  2271.       the media in order to verify that no author requirements are vio-
  2272.       lated. Here are the relevant flags:
  2273.  
  2274.          -mc<nontargets>  CD-ROM (see below for info on "nontargets")
  2275.          -md              Sysop sends diskettes to users
  2276.          -mh              High-density diskette
  2277.          -mo              Other (than CD-ROM) mass media (FDN only)
  2278.  
  2279.       For the CD-ROM distribution channel, the author may grant or withhold
  2280.       permission depending on the targetted market. Select these to indi-
  2281.       cate which you are NOT marketing to:
  2282.  
  2283.          b   not marketed to Bbs sysops
  2284.          d   not marketed to other Distributors
  2285.          u   not marketed to end Users
  2286.  
  2287.       Thus, to describe a BBS-ready CD-ROM marketed to Sysops and disk
  2288.       vendors, but not to end users, you would include
  2289.  
  2290.          -mcu
  2291.  
  2292.       on the command line.
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.    VendPrcs Processor v1.21          -35-                          Mar 1995
  2301.  
  2302.  
  2303.  
  2304.  
  2305.    VendPrcs User's Guide                               Distribution Testing
  2306.  
  2307.  
  2308.    Informing the Customer (-oi)
  2309.    ----------------------------
  2310.  
  2311.       The way in which you present shareware to your customers is a major
  2312.       concern of many shareware authors. Various "sleazy" distributors have
  2313.       been known to "sell" shareware as if they owned the products, ignor-
  2314.       ing the authors' copyrights and failing to inform the customer of the
  2315.       nature of shareware. This practice hurts the whole industry, by
  2316.  
  2317.            o  Discouraging users, who may view the author's registration
  2318.               request as a "bait-and-switch", and may avoid shareware
  2319.               altogether in the future.
  2320.  
  2321.            o  Discouraging authors from distributing products via shareware
  2322.               channels.
  2323.  
  2324.            o  Causing authors to restrict distribution to known, reliable
  2325.               distributors.
  2326.  
  2327.       In an effort to encourage distribution by the "good guys", the VEN-
  2328.       DINFO standard allows authors to give distribution permission to
  2329.       distributors who assert that they "fully inform" their customers.
  2330.       There are four parts to such full disclosure, and in order to qualify
  2331.       as a distributor under this provision, you must assert that you're
  2332.       clearly informing your customer of all four:
  2333.  
  2334.          s   the product is Shareware.
  2335.          d   the Definition/nature of shareware.
  2336.          o   you claim no Ownership rights in the product.
  2337.          p   separate Payment to author is required if used outside
  2338.              of author's evaluation terms.
  2339.  
  2340.       To assert that you comply with all four of these requirements, you
  2341.       should include the following on the VendPrcs command line:
  2342.  
  2343.          -oisdop
  2344.  
  2345.  
  2346.    Modifying or Bundling Packages (-om)
  2347.    ------------------------------------
  2348.  
  2349.       Unless the command-line options indicate otherwise, it is assumed
  2350.       that the package will be distributed without modification. It is also
  2351.       assumed that it will be distributed separately from other products,
  2352.       unless mass media are involved. It you are planning to modify the
  2353.       package, or to bundle it with other similar or dissimilar products,
  2354.       you must indicate these intentions with the -om ("Modifications")
  2355.       option:
  2356.  
  2357.  
  2358.  
  2359.    VendPrcs Processor v1.21          -36-                          Mar 1995
  2360.  
  2361.  
  2362.  
  2363.  
  2364.    VendPrcs User's Guide                               Distribution Testing
  2365.  
  2366.  
  2367.          -oma   advertisement(s) will be Appended to existing document(s)
  2368.          -omb   advertisement(s) will be added as separate file(s)
  2369.          -omc   Compression method will be changed (e.g., ZIP to ARJ)
  2370.          -omd   product will be bundled with Dissimilar products
  2371.                 (e.g., a "starter set" for new users)
  2372.          -omh   Help or GO.BAT will be added as separate files
  2373.          -omi   Installation program or batch file will be added or changed
  2374.          -oms   product will be bundled with Similar products
  2375.                 (e.g., a "spreadsheet mega-disk" for comparisons)
  2376.  
  2377.       These options may be combined. For example, adding
  2378.  
  2379.          -ombchi
  2380.  
  2381.       to the command line would indicate that you intend to include ads as
  2382.       separate files, change the compression method, add a help or GO.BAT
  2383.       file, and add or change the installation program.
  2384.  
  2385.  
  2386.    Other Distribution Specifications (-o)
  2387.    --------------------------------------
  2388.  
  2389.       See the two previous sections for "other" options dealing with
  2390.  
  2391.            o  Modifying (or bundling) the author's package (-om)
  2392.  
  2393.            o  Fully informing the customer (-oi)
  2394.  
  2395.       The remaining "other" options concern dealings between distributor
  2396.       and author, as follows:
  2397.  
  2398.          -oa   package was received from Author or author's agent
  2399.          -oc   author has been Contacted, this is current version
  2400.          -on   will Notify author of distribution, version used
  2401.          -op   have written Permission for proposed distribution
  2402.          -or   agree to pay specified Royalties
  2403.          -os   will send Sample materials to author
  2404.  
  2405.  
  2406.    Errorlevels Returned by Distribution Permission Tests
  2407.    -----------------------------------------------------
  2408.  
  2409.       The following errorlevels are returned by VendPrcs as a result of
  2410.       distribution permission testing:
  2411.  
  2412.            Errorlevel             Meaning
  2413.  
  2414.                1              An error has occurred.  This is probably
  2415.                               an incorrect field code, but it might be
  2416.  
  2417.  
  2418.    VendPrcs Processor v1.21          -37-                          Mar 1995
  2419.  
  2420.  
  2421.  
  2422.  
  2423.    VendPrcs User's Guide                               Distribution Testing
  2424.  
  2425.  
  2426.                               due to other causes, in which case an error
  2427.                               message should be written to stderr.
  2428.  
  2429.                10             VENDINFO file has wrong size or CRC for
  2430.                               either the text or data section, and may
  2431.                               be a hacked or corrupted file.
  2432.  
  2433.                11             VENDINFO file has missing or invalid
  2434.                               author authentication codes, and may
  2435.                               be a hacked or corrupted file.
  2436.  
  2437.                20             A test of distribution permission has
  2438.                               been requested, and the VENDINFO file
  2439.                               prohibits distribution in the described
  2440.                               way.
  2441.  
  2442.                21             A test of distribution permission has
  2443.                               been requested, and an executable in
  2444.                               the package prohibits distribution in
  2445.                               the described way.
  2446.  
  2447.                30             A test of distribution permission has
  2448.                               been requested, and the VENDINFO file
  2449.                               allows distribution in the described
  2450.                               way, but only if additional requirements
  2451.                               are satisfied.
  2452.  
  2453.                31             A test of distribution permission has
  2454.                               been requested, and the VENDINFO file
  2455.                               allows distribution in the described
  2456.                               way, but only if written permission is
  2457.                               obtained.
  2458.  
  2459.                32             A test of distribution permission has
  2460.                               been requested, and the VENDINFO file
  2461.                               allows distribution in the described
  2462.                               way, but only if additional requirements
  2463.                               are satisfied AND written permission
  2464.                               is obtained.
  2465.  
  2466.                40             A test of distribution permission has
  2467.                               been requested, and the VENDINFO file
  2468.                               allows distribution in the described
  2469.                               way.  All conditions have been satisfied.
  2470.  
  2471.       It is a good idea to test for errorlevels 10 and 11 after the first
  2472.       VendPrcs command executed on a given VENDINFO file. Further tests for
  2473.       those particular errorlevels should be unnecessary.
  2474.  
  2475.  
  2476.  
  2477.    VendPrcs Processor v1.21          -38-                          Mar 1995
  2478.  
  2479.  
  2480.  
  2481.  
  2482.    VendPrcs User's Guide                               Distribution Testing
  2483.  
  2484.  
  2485.    Testing for VENDINFO-Branded Executables
  2486.    ----------------------------------------
  2487.  
  2488.       This is a planned capability not yet implemented.
  2489.  
  2490.  
  2491.    Testing for Altered Package Contents
  2492.    ------------------------------------
  2493.  
  2494.       The VENDINFO.DIZ file includes a Packing List, with file names,
  2495.       dates, sizes, and CRCs for the files in the package as it was
  2496.       prepared by the author. To the degree that it can, VendPrcs will
  2497.       verify that the contents of the package are unchanged, or at least
  2498.       have not been altered in ways that violate the author's distribution
  2499.       license. This is easy when the author has specified that the package
  2500.       may not be altered, or that all original files must be included
  2501.       unchanged. Obviously, if the author has allowed more extensive
  2502.       changes, VendPrcs cannot reliably determine whether or not changes
  2503.       that may be present are violations of the author's distribution
  2504.       policy. The editor used by authors warns them that allowing such
  2505.       changes will disable this feature of the distribution policy testing.
  2506.  
  2507.       Unless this test is suppressed (see below), it will be performed
  2508.       automatically whenever a distribution policy test is done, and the
  2509.       presence of disallowed changes will result in rejection of the
  2510.       package.
  2511.  
  2512.  
  2513.    Suppressing Unwanted Testing (-n)
  2514.    ---------------------------------
  2515.  
  2516.       VendPrcs does several kinds of testing which you may wish to disable.
  2517.       We don't recommend it, but you're in charge. Disabling any of these
  2518.       tests may cause an erroneous "it's OK to distribute" result. Here are
  2519.       the options:
  2520.  
  2521.            -na  Suppress author authentication and record validity testing
  2522.                 (see later chapter, "Security").
  2523.  
  2524.            -ne  Suppress testing for VENDINFO-branded executables (see
  2525.                 previous section, "Testing for VENDINFO-Branded
  2526.                 Executables").
  2527.  
  2528.            -nm  Suppress testing for author-allowed modifications to
  2529.                 package. This forces "Packing List" testing for an exact
  2530.                 match, with no alterations whatsoever to the package.
  2531.  
  2532.            -np  Suppress "Packing List" testing for changes that violate
  2533.                 the product's distribution license (see previous section,
  2534.  
  2535.  
  2536.    VendPrcs Processor v1.21          -39-                          Mar 1995
  2537.  
  2538.  
  2539.  
  2540.  
  2541.    VendPrcs User's Guide                               Distribution Testing
  2542.  
  2543.  
  2544.                 "Testing for Altered Package Contents").
  2545.  
  2546.            -nv  Suppress "verbose" mode; results are written only to log
  2547.                 file.
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.    VendPrcs Processor v1.21          -40-                          Mar 1995
  2596.  
  2597.  
  2598.  
  2599.  
  2600.    VendPrcs User's Guide                                    Package Routing
  2601.  
  2602.  
  2603.        
  2604.                    +--------------------------------------+
  2605.                    | Package Routing and Disposition (-r) |
  2606.                    +--------------------------------------+
  2607.  
  2608.       In addition to testing for distribution permission, VendPrcs can also
  2609.       automate some of your package-handling operations. For example,
  2610.       VendPrcs can:
  2611.  
  2612.            o  Rename the package to match the author's preference.
  2613.  
  2614.            o  Move the package to a directory determined by the outcome of
  2615.               a distribution permission test.
  2616.  
  2617.            o  Move the package to a directory determined by the product's
  2618.               primary category code.
  2619.  
  2620.            o  Produce a list of packages rendered obsolete by the product's
  2621.               new version.
  2622.  
  2623.            o  Automatically keep a separate library of VENDINFO files for
  2624.               easy reference.
  2625.  
  2626.            o  Manage VendPrcs log files in several ways, depending on your
  2627.               preference.
  2628.  
  2629.       Before the individual package-handling operations are described, you
  2630.       need to understand the special directory arrangements that apply.
  2631.  
  2632.  
  2633.    Routing Directory Conventions
  2634.    -----------------------------
  2635.  
  2636.       The operations discussed in the previous chapters need access to a
  2637.       single VENDINFO file, or to all the files extracted from a single
  2638.       "ZIP" or other compressed product package. In those cases, all of the
  2639.       files are assumed to be in the current working directory. The routing
  2640.       and log control options, however, may involve a number of direc-
  2641.       tories, whose actual pathnames are under your control. These direc-
  2642.       tories are:
  2643.  
  2644.            NeedPerm  Directory into which VendPrcs may move packages for
  2645.                      which written permission is needed and all other
  2646.                      conditions of distribution are satisfied.
  2647.  
  2648.            NeedAddl  Directory into which VendPrcs may move packages for
  2649.                      which basic distribution conditions are satisfied, but
  2650.                      some additional requirements must be assessed
  2651.                      manually.
  2652.  
  2653.  
  2654.    VendPrcs Processor v1.21          -41-                          Mar 1995
  2655.  
  2656.  
  2657.  
  2658.  
  2659.    VendPrcs User's Guide                                    Package Routing
  2660.  
  2661.  
  2662.            NeedBoth  Directory for packages requiring both written permis-
  2663.                      sion and additional requirements.
  2664.  
  2665.            Invalid   Directory into which packages may be moved if VENDINFO
  2666.                      file is invalid or corrupted.
  2667.  
  2668.            Prohib    Directory into which packages may be moved if the
  2669.                      proposed distribution is prohibited.
  2670.  
  2671.            Approved  Directory into which packages may be moved if all
  2672.                      distribution requirements are satisfied.
  2673.  
  2674.            Reject    Directory into which packages may be moved if rejected
  2675.                      because of criteria set by you, such as products in
  2676.                      categories in which you have no interest.
  2677.  
  2678.            Error     Directory into which packages may be moved in any
  2679.                      cases not covered above.
  2680.  
  2681.            Incoming  Directory containing the still-compressed package
  2682.                      whose VENDINFO file is under analysis.
  2683.  
  2684.            Logs      Directory in which VendPrcs log files and obsolete-
  2685.                      package lists are written.
  2686.  
  2687.            Library   Directory into which VENDINFO files may be copied
  2688.                      (under package names, as TESTR11.DIZ), for long-term
  2689.                      retention.
  2690.  
  2691.            Temp      Directory in which all required temporary files will
  2692.                      be created. Not yet implemented.
  2693.  
  2694.       The actual directory paths corresponding to these functions are
  2695.       defined by you in the VPRESULT.CFG file located in the same directory
  2696.       as the invoked VENDPRCS.EXE. This file has one line per directory,
  2697.       containing the function name (from the list above) and the full
  2698.       pathname of the directory, as in
  2699.  
  2700.          Prohib C:\TOHANDLE\PROHIB
  2701.  
  2702.       Comment lines, beginning with a semicolon, are ignored.
  2703.  
  2704.  
  2705.    Package Filename (-p)
  2706.    ---------------------
  2707.  
  2708.       If VendPrcs is asked to move or rename the compressed package (from
  2709.       which the VENDINFO record was taken), it must know where to find the
  2710.       still-compressed package. This package cannot be assumed to be in the
  2711.  
  2712.  
  2713.    VendPrcs Processor v1.21          -42-                          Mar 1995
  2714.  
  2715.  
  2716.  
  2717.  
  2718.    VendPrcs User's Guide                                    Package Routing
  2719.  
  2720.  
  2721.       current working directory, since that would interfere with Packing
  2722.       List testing.
  2723.  
  2724.       If the package name is given as a simple filename, as in
  2725.  
  2726.          -p TESTR11.ZIP
  2727.  
  2728.       the package is assumed to be in the "Incoming" directory, as defined
  2729.       in the previous section.
  2730.  
  2731.       If the package name is given as a full pathname, as in these ex-
  2732.       amples:
  2733.  
  2734.          -p ..\TESTR11.ZIP
  2735.          -p .\TESTR11.ZIP
  2736.          -p C:\UPLOADS\TESTR11.ZIP
  2737.  
  2738.       then that pathname is used.
  2739.  
  2740.  
  2741.    Rename Package to Author-Indicated Name (-rn)
  2742.    ---------------------------------------------
  2743.  
  2744.       Sometimes -- especially in a BBS setting -- packages may have
  2745.       filenames other than the names preferred by the author. This can
  2746.       result in multiple copies of the same package, all with different
  2747.       filenames. The -rn ("reName") option allows you to force the package
  2748.       to be renamed as preferred by the author. To use this option, you
  2749.       must provide the package name using the -p option. This can be done
  2750.       along with a distribution permission test, or as a separate opera-
  2751.       tion. Consider, for example,
  2752.  
  2753.          vendprcs vendinfo.diz -p .\testr11.zip -rn
  2754.  
  2755.       This command assumes that the current working directory contains BOTH
  2756.       the package TESTR11.ZIP and a VENDINFO.DIZ file that has already been
  2757.       extracted from it. VendPrcs compares the author's preferred package
  2758.       filename prefix with the string "TESTR11" and, if different, renames
  2759.       TESTR11.ZIP to match the author's preference. When VendPrcs performs
  2760.       such a rename WITHOUT also doing a distribution permission test, the
  2761.       errorlevel returned indicates whether or not the package is now
  2762.       correctly named (errorlevel 50 indicates TRUE, and 51 indicates
  2763.       FALSE), or indicates an error (errorlevels 1, 10, or 11). See Appen-
  2764.       dix C for more information about errorlevels.
  2765.  
  2766.       When the -rn option is used along with a distribution permission test
  2767.       (-d), the renaming is done regardless of the outcome of the distribu-
  2768.       tion test, and has no effect on the returned errorlevel.
  2769.  
  2770.  
  2771.  
  2772.    VendPrcs Processor v1.21          -43-                          Mar 1995
  2773.  
  2774.  
  2775.  
  2776.  
  2777.    VendPrcs User's Guide                                    Package Routing
  2778.  
  2779.  
  2780.    Move Package Based on Test Outcome (-rm)
  2781.    ----------------------------------------
  2782.  
  2783.       When a distribution test (-d) is done, VendPrcs can also be in-
  2784.       structed to move the original, still-compressed package based on the
  2785.       outcome of the test. (This also requires that the package name (-p)
  2786.       be given.)
  2787.  
  2788.       An example of such a command is
  2789.  
  2790.          vendprcs vendinfo.diz -db -c0 -rm -p ..\TESTR11.ZIP
  2791.  
  2792.       which would test for distributability of TESTR11.ZIP on a free BBS,
  2793.       and would move the package based on the result.
  2794.  
  2795.       The errorlevel returned would be that associated with the distribu-
  2796.       tion test.
  2797.  
  2798.       If the errorlevel is not 1 (error), the package is moved to one of
  2799.       the directories defined in the "Routing Directory Conventions" sec-
  2800.       tion, above. (A variation of this arrangement occurs when the -rc
  2801.       option is also used; see below.)
  2802.  
  2803.       The rename (-rn) option can be used along with -rm.
  2804.  
  2805.  
  2806.    Move Package Based on Product Category (-rc)
  2807.    --------------------------------------------
  2808.  
  2809.       VendPrcs can also move packages based on the main product category
  2810.       encoded in the VENDINFO file. This is done using the -rc ("Category")
  2811.       option, which also requires use of the -p package-name option.
  2812.  
  2813.       Routing by category is controlled by the VPCATGRY.CFG file, located
  2814.       in the same directory as the invoked VENDPRCS.EXE. To understand this
  2815.       file, let's look first at part of the CATEGORY.INF file,
  2816.  
  2817.          14000000 Business
  2818.             14010000 Business finances
  2819.                14010100 Business accounting
  2820.                14010200 Point-of-sale systems
  2821.                14010300 Billing systems
  2822.                14010400 Purchase order systems
  2823.                14010500 Payroll systems
  2824.             14020000 Inventory systems
  2825.          ;  14030000 remaps to 14040100
  2826.          ;     14030100 remaps to 14040101
  2827.             14140000 Equipment use & maintenance
  2828.             14040000 Project management
  2829.  
  2830.  
  2831.    VendPrcs Processor v1.21          -44-                          Mar 1995
  2832.  
  2833.  
  2834.  
  2835.  
  2836.    VendPrcs User's Guide                                    Package Routing
  2837.  
  2838.  
  2839.                14040100 Project bidding & costing
  2840.                   14040101 Decision analysis tools
  2841.                14040200 Project scheduling
  2842.  
  2843.       This file defines the category codes used in the VENDINFO system. As
  2844.       you can see, it has a hierarchic (tree) structure. The purpose of
  2845.       this file is to define that structure and to define the correspon-
  2846.       dence between the category codes and descriptive text.
  2847.  
  2848.       The VPCATGRY.CFG file has a similar hierarchic structure (perhaps
  2849.       greatly abbreviated), and maps the codes into directory pathnames,
  2850.       rather than descriptive text:
  2851.  
  2852.          ;14000000 Business
  2853.          14000000 C:\BBSFILES\BUSINESS
  2854.          ;  14010000 Business finances
  2855.             14010000 C:\BBSFILES\FINANCE
  2856.          ;     14010100 Business accounting
  2857.          ;     14010200 Point-of-sale systems
  2858.          ;     14010300 Billing systems
  2859.          ;     14010400 Purchase order systems
  2860.          ;     14010500 Payroll systems
  2861.          ;  14020000 Inventory systems
  2862.          ;  14030000 remaps to 14040100
  2863.          ;     14030100 remaps to 14040101
  2864.          ;  14140000 Equipment use & maintenance
  2865.          ;  14040000 Project management
  2866.             14040000 C:\BBSFILES\PROJMAN
  2867.          ;     14040100 Project bidding & costing
  2868.          ;        14040101 Decision analysis tools
  2869.          ;     14040200 Project scheduling
  2870.  
  2871.       This example would move all "Business" packages in the BUSINESS
  2872.       directory, except for those dealing with finance (the FINANCE direc-
  2873.       tory) or project management (PROJMAN). As the example illustrates,
  2874.       whole subtrees of the category structure can be mapped into a single
  2875.       directory. This allows many categories to be omitted or commented
  2876.       out. Thus, you might wind up with only a few lines, mapping all the
  2877.       games categories to one directory, all business to another, etc.
  2878.  
  2879.       You can also "reject" a category by placing the word "Reject" where
  2880.       the directory pathname would otherwise appear. This will cause
  2881.       packages in that category to be moved to the "Reject" directory
  2882.       defined in VPRESULT.CFG.
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.    VendPrcs Processor v1.21          -45-                          Mar 1995
  2891.  
  2892.  
  2893.  
  2894.  
  2895.    VendPrcs User's Guide                                    Package Routing
  2896.  
  2897.  
  2898.       Here's a possible complete VPCATGRY.CFG file for a distributor inter-
  2899.       ested only in games:
  2900.  
  2901.          00000000 Reject
  2902.          07000000 c:\games
  2903.  
  2904.       Because this file defines an action for the "root" node of the
  2905.       category tree (category 00000000), it defines correct behavior for
  2906.       all possible category nodes. Thus, a product in category 07010000
  2907.       would be moved to the games directory, since 07010000 is a sub-
  2908.       category under 07000000, while a product in category 01000000 would
  2909.       be rejected.
  2910.  
  2911.       There are two ways to use the -rc option. If it is used along with
  2912.       both the -d and -rm options, as in
  2913.  
  2914.          vendprcs vendinfo.diz -db -c0 -rcm -p TESTR11.ZIP
  2915.  
  2916.       then packages are moved based on the result of the distribution test,
  2917.       and only those packages that would have gone to the "Approved" direc-
  2918.       tory are moved by category. All others are moved as if only -rm were
  2919.       selected, rather than -rcm. A package whose main category code is not
  2920.       covered by the VPCATGRY.CFG file is moved to the "Approved" direc-
  2921.       tory. Errorlevels are those associated with the distribution test (-
  2922.       d).
  2923.  
  2924.       If package movement by category is done as a stand-alone operation,
  2925.  
  2926.          vendprcs vendinfo.diz -c0 -rc -p TESTR11.ZIP
  2927.  
  2928.       then the package is moved as indicated based on its category code and
  2929.       the VPCATGRY.CFG file. A package whose main category code is not
  2930.       covered by the VPCATGRY.CFG file is not moved. Errorlevels are 1, 10,
  2931.       or 11 for errors, 50 (TRUE) if package is moved, or 51 (FALSE) if
  2932.       package is not moved.
  2933.  
  2934.       The rename (-rn) option can be used along with -rc or -rcm.
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.    VendPrcs Processor v1.21          -46-                          Mar 1995
  2950.  
  2951.  
  2952.  
  2953.  
  2954.    VendPrcs User's Guide                                    Package Routing
  2955.  
  2956.  
  2957.    Logs and Generated Lists (-rl -rs -rd -ro)
  2958.    ------------------------------------------
  2959.  
  2960.       The logs produced by VendPrcs during distribution testing and package
  2961.       routing can be very informative. NOTE: The actual output format will
  2962.       be completely redesigned for the next round of beta testing. Here's
  2963.       an example:
  2964.  
  2965.       VendPrcs 1.00 Copyright 1993 Rams' Island Software, Parker, CO USA
  2966.       UNREGISTERED COPY: If used past 30-day evaluation period, registration
  2967.                          is required.  Registration is free for single-line,
  2968.                          strictly non-commercial BBSes.
  2969.  
  2970.         Testing: C:\RUDY\SWDEV\VENDINFO\VENDEDIT\INCXT11A\VENDINFO.DIZ
  2971.                  InContext Work Environment Manager v1.10
  2972.                  Rams' Island Software
  2973.  
  2974.             for: Distribution to End User by Mail-Order Disk Vendor
  2975.                  Contents checked against Packing List for ALLOWED CHANGES
  2976.  
  2977.         but not: VENDINFO record(s) not checked for authenticity/validity
  2978.  
  2979.         Mods:    Author requires *all* original, unchanged files be present
  2980.                  Entire package is as released by author
  2981.  
  2982.         Quals:   Would "qualify" if ASP distributor member           [-ta]
  2983.                  Would "qualify" if customer fully informed      [-oipods]
  2984.                  Would "qualify" if user group                       [-tu]
  2985.                  Would "qualify" if non-profit user group            [-tn]
  2986.                  Would "qualify" if package was received from author [-or]
  2987.  
  2988.         Disqual: Charge per product not <= US$ 10.00            [-cp<amt>]
  2989.                  Charge per 360K not <= US$ 10.00               [-ck<amt>]
  2990.                  (Eliminating disquals removes requirement for permission)
  2991.  
  2992.         Note:    All rights not expressly granted are reserved to the
  2993.                  author.  The author may revoke any permissions granted
  2994.                  here, by notifying you in writing.
  2995.  
  2996.         AddlReq: Written permission is required, and not obtained    [-op]
  2997.  
  2998.       DISTRIBUTION WOULD BE ALLOWED if written permission obtained
  2999.  
  3000.       These logs can be produced in any (or all) of several ways, depending
  3001.       on the command-line options.
  3002.  
  3003.            no -nv  A log is written to standard output, which is usually
  3004.                    the screen, but can be redirected to a file. The -nv (no
  3005.                    verbose) option suppresses this output.
  3006.  
  3007.  
  3008.    VendPrcs Processor v1.21          -47-                          Mar 1995
  3009.  
  3010.  
  3011.  
  3012.  
  3013.    VendPrcs User's Guide                                    Package Routing
  3014.  
  3015.  
  3016.            -rl     A single main log, VENDPRCS.LOG, is maintained, and each
  3017.                    new VendPrcs invocation appends log information to that
  3018.                    log. A "Logs" directory must be defined in VPRESULT.CFG.
  3019.  
  3020.            -rs     A separate log is created for the individual package,
  3021.                    and saved by a name like TESTR11.LOG in the "Logs"
  3022.                    directory defined by VPRESULT.CFG. If the package is
  3023.                    renamed using the -rn option, the log name is also
  3024.                    adjusted.
  3025.  
  3026.            -rd     When used with -rm and/or -rc, a separate log is
  3027.                    produced and placed in the directory to which the
  3028.                    package is moved, with name adjusted if -rn is also
  3029.                    used. In the event that the package is not moved, and
  3030.                    -rs is not also selected, the log is placed in the
  3031.                    "Logs" directory as if -rs were selected.
  3032.  
  3033.       Some of these options require production of a temporary log, which is
  3034.       moved, copied, or renamed as appropriate. This temporary file will be
  3035.       TEMPLOG.LOG in the "Logs" directory.
  3036.  
  3037.       One special list can be produced to assist the distributor (others
  3038.       are under consideration). These files are placed in the "Logs" direc-
  3039.       tory.
  3040.  
  3041.            -ro  OBSOLETE.LST, a list of packages possibly rendered obsolete
  3042.                 by the current version.
  3043.  
  3044.  
  3045.  
  3046.    Maintain VENDINFO File Library (-rv)
  3047.    ------------------------------------
  3048.  
  3049.       If this option is selected, a copy of the VENDINFO file will be saved
  3050.       in the "Library" directory, using the author's indicated filename
  3051.       prefix. Thus, the VENDINFO.DIZ file from the TESTR10 package would be
  3052.       saved as TESTR10.DIZ.
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.    VendPrcs Processor v1.21          -48-                          Mar 1995
  3068.  
  3069.  
  3070.  
  3071.  
  3072.    VendPrcs User's Guide                                           Security
  3073.  
  3074.  
  3075.        
  3076.                                  +----------+
  3077.                                  | Security |
  3078.                                  +----------+
  3079.  
  3080.       The security features of VENDINFO make no claim to be hack-proof, but
  3081.       they should be sufficient to:
  3082.  
  3083.            o  Eliminate manual editing of VENDINFO records, which could do
  3084.               serious accidental or deliberate damage.
  3085.  
  3086.            o  Eliminate casual hacking.
  3087.  
  3088.            o  Require effort on the part of a serious hacker that exceeds
  3089.               any likely gain.
  3090.  
  3091.       Some of the security features in the initial release of VENDINFO are:
  3092.  
  3093.            o  The structure, complexity, and internal checks associated
  3094.               with the VENDINFO record are such that it is difficult to
  3095.               produce without a specialized VENDINFO editor.
  3096.  
  3097.            o  The editor cannot edit a distributed VENDINFO file. It
  3098.               produces such files from an intermediate file -- which the
  3099.               author keeps -- in a one-way operation.
  3100.  
  3101.            o  Both the text and data portions of the VENDINFO records are
  3102.               checked for size and CRC.
  3103.  
  3104.            o  VENDINFO records can contain two "authentication" keys that
  3105.               help verify the source and unaltered content of the record.
  3106.  
  3107.            o  The editor will produce "authenticated" VENDINFO records only
  3108.               in the presence of an author-specific key that is not con-
  3109.               tained in the distributed VENDINFO record.
  3110.  
  3111.  
  3112.       Planned capabilities for a subsequent VENDINFO release include:
  3113.  
  3114.            o  If the author chooses, an abbreviated VENDINFO record can be
  3115.               embedded in any or all executable programs. This insures that
  3116.               basic identification and distribution policy information is
  3117.               present and automatically testable even if the VENDINFO
  3118.               record is removed from the distribution package.
  3119.  
  3120.            o  If the author chooses, the executable VENDINFO record can
  3121.               require the presence of a specific VENDINFO file (identified
  3122.               by a CRC-like value). This would allow automatic detection of
  3123.               the removal of the VENDINFO file from the distribution
  3124.  
  3125.  
  3126.    VendPrcs Processor v1.21          -49-                          Mar 1995
  3127.  
  3128.  
  3129.  
  3130.  
  3131.    VendPrcs User's Guide                                           Security
  3132.  
  3133.  
  3134.               package. It would also allow automatic detection of the
  3135.               substitution of a VENDINFO file in the distribution package
  3136.               even if the file itself passed all security checks.
  3137.  
  3138.            o  If the author places the executable VENDINFO record inside
  3139.               his/her own protective CRC envelope, a complete understanding
  3140.               of the VENDINFO security scheme would not be enough to defeat
  3141.               it. A hacker would also have to defeat the author's own
  3142.               security layer.
  3143.  
  3144.            o  A separate mechanism exists which allows a central site (the
  3145.               Product Registry) to verify the authenticity of a VENDINFO
  3146.               record based on private keys.
  3147.  
  3148.            o  A provision for author tracking brands in the uncompressed
  3149.               front-text of the VENDINFO.DIZ file. These brands will be
  3150.               visible to a file viewer, easily accessible to the author's
  3151.               own software, and defended against modification by in-
  3152.               dividuals other than the author.
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.    VendPrcs Processor v1.21          -50-                          Mar 1995
  3186.  
  3187.  
  3188.  
  3189.  
  3190.    VendPrcs User's Guide                                           Examples
  3191.  
  3192.  
  3193.        
  3194.                     +------------------------------------+
  3195.                     | Putting It All Together (Examples) |
  3196.                     +------------------------------------+
  3197.  
  3198.       This chapter will present a variety of simple example applications of
  3199.       VendPrcs. It is unlikely that any of these examples will match your
  3200.       situation exactly, but they should help you understand the many
  3201.       things VendPrcs can do.
  3202.  
  3203.  
  3204.    Force Package to Author-Preferred Name
  3205.    --------------------------------------
  3206.  
  3207.       To force a ZIP package to the author's indicated package name, you
  3208.       might use this simple batch file:
  3209.  
  3210.          rem Assumes PACKAGE.ZIP is in current, working directory
  3211.          del *.diz
  3212.          pkunzip package.zip vendinfo.diz
  3213.          if not exist vendinfo.diz goto after
  3214.          vendprcs vendinfo.diz -rn -p .\package.zip
  3215.          if errorlevel 51 goto error
  3216.          if errorlevel 50 goto after
  3217.          :error
  3218.             ...
  3219.          :after
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.    VendPrcs Processor v1.21          -51-                          Mar 1995
  3245.  
  3246.  
  3247.  
  3248.  
  3249.    VendPrcs User's Guide                                           Examples
  3250.  
  3251.  
  3252.    A Low-Maintenance Games-Only BBS
  3253.    --------------------------------
  3254.  
  3255.       The Games Haven BBS is a free ASP-member BBS specializing in games.
  3256.       The sysop wants to minimize the time he spends on the BBS, so he
  3257.       posts only games that are distributable without written permission or
  3258.       special handling. If allowed, he repackages all games in ZIP form, in
  3259.       which case he also adds a GAMHAVEN.BBS advertisement, if that is
  3260.       allowed.
  3261.  
  3262.       It is assumed that a file-upload processor has already unpacked the
  3263.       compressed package into the current working directory and done any
  3264.       necessary virus checking. A possible batch file for this situation is
  3265.       GAMHAVEN.BAT in EXAMPLES.ZIP. Briefly, the batch file tests for
  3266.       distributability by this particular BBS without written permission or
  3267.       other special conditions:
  3268.  
  3269.          vendprcs vendinfo.diz -db -c0 -ta
  3270.          if errorlevel 40 goto bbsok
  3271.          if errorlevel 20 goto reject
  3272.          goto reject
  3273.  
  3274.       checks to see whether or not repackaging as a ZIP is OK
  3275.  
  3276.          vendprcs vendinfo.diz -egmc
  3277.          if errorlevel 51 goto use_orig
  3278.  
  3279.       adds a GAMHAVEN.BBS advertisement if allowed
  3280.  
  3281.          vendprcs vendinfo.diz -egmas
  3282.          if errorlevel 51 goto no_ad
  3283.          copy c:\mystuff\gamhaven.bbs
  3284.  
  3285.       repackages the whole affair as TEMP.ZIP or uses the original package,
  3286.       and moves the resulting package to the appropriate file area or to a
  3287.       reject bin based on its product category. For example:
  3288.  
  3289.          vendprcs vendinfo.diz -p %1 -rcn
  3290.  
  3291.       This requires a VPCATGRY.CFG file that might look something like
  3292.       this:
  3293.  
  3294.          00000000 Reject
  3295.          07130000 c:\games\advent
  3296.          07060000 c:\games\arcade
  3297.          07210000 c:\games\board
  3298.          07070000 c:\games\card
  3299.          ...
  3300.          07990000 c:\games\other
  3301.  
  3302.  
  3303.    VendPrcs Processor v1.21          -52-                          Mar 1995
  3304.  
  3305.  
  3306.  
  3307.  
  3308.    VendPrcs User's Guide                                           Examples
  3309.  
  3310.  
  3311.    BBS-Ready CD-ROM Production
  3312.    ---------------------------
  3313.  
  3314.       In this example, a CD-ROM publisher wishes to select, from a large
  3315.       set of programs, all those that satisfy two criteria:
  3316.  
  3317.            o  Distribution by BBS is totally unlimited.
  3318.  
  3319.            o  Distribution on a $40 CD-ROM is allowed, possibly subject to
  3320.               additional requirements.
  3321.  
  3322.       The result will be a candidate set of programs for a CD-ROM that can
  3323.       be sold strictly to BBS sysops, for on-line access via BBS.
  3324.  
  3325.       A complete batch file for this example is BBSCDROM.BAT in
  3326.       EXAMPLES.ZIP. Please note that this batch file has not yet been
  3327.       tested (fix HERE). The batch file leaves a copy of the package in one
  3328.       of several directories, as defined in the batch file itself and in
  3329.       VPRESULT.CFG, along with a correspondingly named LOG file. While the
  3330.       complete batch file is too large for inclusion here, the working part
  3331.       of the batch file is rather short and simple:
  3332.  
  3333.          pkunzip %1 vendinfo.diz
  3334.          if not exist vendinfo.diz goto manual
  3335.  
  3336.          rem ----- reject BBS-limited products --------------------------
  3337.          vendprcs vendinfo.diz -db
  3338.          if errorlevel 40 goto bbsok
  3339.          if errorlevel 20 goto reject
  3340.          goto bad_vendinfo
  3341.  
  3342.          :bbsok
  3343.          rem ----- now test for CD-ROM distributability -----------------
  3344.          vendprcs vendinfo.diz -dc -cc40 -mcb -rmnd -p .\%1
  3345.          goto done
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.    VendPrcs Processor v1.21          -53-                          Mar 1995
  3363.  
  3364.  
  3365.  
  3366.  
  3367.    VendPrcs User's Guide                                           Examples
  3368.  
  3369.  
  3370.    Build FILES.BBS
  3371.    ---------------
  3372.  
  3373.       This example constructs a file description of the sort typically used
  3374.       in BBS FILE.BBS lists. Here's an example of such a description,
  3375.       truncated on the right to fit here:
  3376.  
  3377.          INCXT11D.ZIP  216251 1/31/93   InContext(TM) Work Environment Mana
  3378.                                         Part 1 of 2 <ASP>. Complete Work En
  3379.                                         Manager for expert PC users. Automa
  3380.                                         aspects of the PC user's work than
  3381.                                         product. Designed by a PhD ergonomi
  3382.                                         based on fundamental principles of
  3383.                                         actually work. Much more than a DOS
  3384.                                         NEW VERSION 1.10 has Gantt charts,
  3385.                                         tagging, 4DOS long descriptions, PK
  3386.                                         support, *many* new features.
  3387.  
  3388.       FILESBBS.BAT (in EXAMPLES.ZIP) is a complete batch file to produce
  3389.       these descriptions. Here's the working part of a similar batch file,
  3390.       to illustrate the basic approach:
  3391.  
  3392.          vendprcs          -xxpf -zw12 -zn -p .\INCXT11D.ZIP  > OUTPUT
  3393.          vendprcs      -zl -xxps -zw8  -zn -p .\INCXT11D.ZIP >> OUTPUT
  3394.          vendprcs          -y " "      -zn                   >> OUTPUT
  3395.          vendprcs          -xxpd -zw9  -zn -p .\INCXT11D.ZIP >> OUTPUT
  3396.          vendprcs VENDINFO.DIZ -xpd4 -zi31 -zc45 -y "  @"    >> OUTPUT
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.    VendPrcs Processor v1.21          -55-                          Mar 1995
  3422.  
  3423.  
  3424.  
  3425.  
  3426.    VendPrcs User's Guide                                           Examples
  3427.  
  3428.  
  3429.    Automatic Permission Request
  3430.    ----------------------------
  3431.  
  3432.       This example shows automated production of a letter to an author from
  3433.       a disk vendor, describing the vendor's company and requesting permis-
  3434.       sion to distribute the author's product. It is also possible to
  3435.       automatically construct electronic mail messages in this way. A
  3436.       complete batch file for this purpose is REQUEST.BAT in EXAMPLES.ZIP.
  3437.       Here's a segment of the batch file, to illustrate the idea. This
  3438.       batch file produces a text file (LETTER.TXT) suitable for use with
  3439.       Ventura Publisher to print the letter on existing company letterhead.
  3440.  
  3441.          vendprcs %1 -xac -y "@@AUTHOR = @"             > letter.txt
  3442.          vendprcs -y " "                               >> letter.txt
  3443.          vendprcs %1 -xaa -y "@@ADDRESS = @" -zv       >> letter.txt
  3444.          vendprcs -y " "                               >> letter.txt
  3445.          echo Dear Author:                             >> letter.txt
  3446.          vendprcs -y " "                               >> letter.txt
  3447.  
  3448.          echo We have recently received a copy of your >> letter.txt
  3449.          vendprcs %1 -xpp -y "<B>@" -zn                >> letter.txt
  3450.          vendprcs %1 -xpe           -zn                >> letter.txt
  3451.          vendprcs %1 -xpv -y "v@<D>."                  >> letter.txt
  3452.          vendprcs -y " "                               >> letter.txt
  3453.  
  3454.          echo We are quite interested in adding this   >> letter.txt
  3455.          echo program to our inventory, but we observe >> letter.txt
  3456.          echo that you require written permission...   >> letter.txt
  3457.          vendprcs -y " "                               >> letter.txt
  3458.  
  3459.          echo This letter will serve to introduce you  >> letter.txt
  3460.          echo to our business, and...                  >> letter.txt
  3461.          vendprcs -y " "                               >> letter.txt
  3462.  
  3463.          echo @CLOSING = Yours truly,                  >> letter.txt
  3464.          vendprcs -y " "                               >> letter.txt
  3465.          vendprcs -y "@SIGNATURE = Ima D. Vendor"      >> letter.txt
  3466.  
  3467.       A similar application of these techniques could produce a catalog
  3468.       entry for a disk vendor's mail-order catalog.
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.    VendPrcs Processor v1.21          -56-                          Mar 1995
  3481.  
  3482.  
  3483.  
  3484.  
  3485.    Appendix A                                        Command-Line Arguments
  3486.  
  3487.  
  3488.        
  3489.                +-----------------------------------------------+
  3490.                | Appendix A -- VendPrcs Command-Line Arguments |
  3491.                +-----------------------------------------------+
  3492.  
  3493.       VendPrcs is invoked from the command line in the following way:
  3494.  
  3495.          vendprcs <filename> [options]
  3496.  
  3497.       where [options] can be as follows ("-" can be replaced by "/")
  3498.  
  3499.         Charges by distributor:
  3500.          -c0                    Distributor will not charge users at all
  3501.          -cc<amount>            Charge per CD-ROM will not exceed amount
  3502.          -ck<amount>            Charge per 360K will not exceed amount
  3503.          -cp<amount>            Charge per product will not exceed amount
  3504.          -cy<amount>            Charge per year will not exceed amount
  3505.  
  3506.         Distribution testing:
  3507.          -db                    Test distribution permission (Bbs channel)
  3508.          -dd                    Test distribution (mail-order Disk vendor)
  3509.          -dc                    Test distribution (Cd-rom)
  3510.          -df                    Test distribution (bbs File-distrib net)
  3511.          -di                    Test distribution (Installation by distrib)
  3512.          -dk                    Test distribution (booK enclosure diskette)
  3513.          -dm                    Test distribution (Magazine cover diskette)
  3514.          -do                    Test distribution (One-site rack vendor)
  3515.          -dp                    Test distribution (1-900-type Phone service)
  3516.          -dr                    Test distribution (multi-site Rack distrib)
  3517.          -ds                    Test distribution (Subscription service)
  3518.          -dt                    Test distribution (Tv/cable/satellite/...)
  3519.          -du                    Test distribution (Undescribed method)
  3520.  
  3521.         Existence testing for field values:
  3522.          -e<code>               Test field for existence of value
  3523.                                 (See Appendix B for codes)
  3524.  
  3525.         Medium of distribution:
  3526.          -mc<nontargets>        CD-ROM
  3527.             b = not marketed to Bbs
  3528.             d = not marketed to Distributor
  3529.             u = not marketed to User
  3530.          -md                    Sysop sends diskettes to users
  3531.          -mh                    High-density diskette
  3532.          -mo                    Other (than CD-ROM) mass medium
  3533.  
  3534.         No testing of specified things:
  3535.          -n<tests>              Suppress testing for indicated things
  3536.            a                       No author authentication
  3537.  
  3538.  
  3539.    VendPrcs Processor v1.21          -57-                          Mar 1995
  3540.  
  3541.  
  3542.  
  3543.  
  3544.    Appendix A                                        Command-Line Arguments
  3545.  
  3546.  
  3547.            e                       No executables testing (future version)
  3548.            m                       No test for author-allowed mods
  3549.            p                       No Packing List testing
  3550.            v                       No verbose mode, write only log
  3551.  
  3552.         Other assertions about distribution:
  3553.          -oa                    Package was received from author
  3554.          -oc                    Author contacted, is current version
  3555.          -oi<statements>        Informs customer as indicated
  3556.             d                      Shareware defined
  3557.             o                      Not owner of product
  3558.             p                      Payment to author required
  3559.             s                      Product is shareware
  3560.          -om<mods>              Proposed modifications/bundling
  3561.             a                      Ads appended to existing docs
  3562.             b                      Ads added as separate files
  3563.             c                      Change compression (e.g., ZIP to ARJ)
  3564.             d                      Bundle with dissimilar products
  3565.             h                      Help or GO.BAT added as separate file
  3566.             i                      Change installation program
  3567.             s                      Bundle with similar products
  3568.          -on                    Notifying author of distribution, version
  3569.          -op                    have written Permission from author
  3570.          -or                    Agree to pay specified royalties
  3571.          -os                    Sending author distribution sample
  3572.  
  3573.         Package name:
  3574.          -p <package_name>      File or pathname of compressed package
  3575.  
  3576.         Routing and Log-Control Operations:
  3577.          -r<operations>
  3578.            c                    Move package based on product category
  3579.            d                    Produce distributed logs with packages
  3580.            m                    Move package based on test outcome
  3581.            n                    Rename package to author-indicated name
  3582.            o                    Produce obsolete-package list
  3583.            l                    Keep master Log of all VendPrcs operations
  3584.            s                    Keep separate logs by package
  3585.            v                    Keep VENDINFO files in long-term library
  3586.  
  3587.         Special output formats:
  3588.          -s<type>               See documentation
  3589.  
  3590.         Type of distributor:
  3591.          -t<types>              Distributor types
  3592.            a                       ASP member of appropriate member class
  3593.            c                       Consultant paid for eval and install
  3594.            h                       Hardware dealer bundling with hardware
  3595.            n                       Non-profit user group
  3596.  
  3597.  
  3598.    VendPrcs Processor v1.21          -58-                          Mar 1995
  3599.  
  3600.  
  3601.  
  3602.  
  3603.    Appendix A                                        Command-Line Arguments
  3604.  
  3605.  
  3606.            u                       User group
  3607.  
  3608.         Entering User registration information:
  3609.          -u "<company name>" <serial number> <key>
  3610.  
  3611.         Extraction of field values:
  3612.          -x<code>               Extract field value
  3613.                                 (See Appendix B for codes)
  3614.  
  3615.         Label string for extractions:
  3616.          -y <label string>      Output this literal string with value
  3617.  
  3618.         Other extraction specifications:
  3619.          -zc<columns>           Maximum width of output
  3620.          -zd <format string>    Format for date, price (note space)
  3621.          -zf <FALSE string>     String to output if FALSE (note space)
  3622.          -zi<indentation>       Indentation amount
  3623.          -zk                    Keep VENDDATA file for re-use
  3624.          -zl                    Pad on left, if necessary (with -zw)
  3625.          -zn                    Suppress newline in output
  3626.          -zq                    Produce comma-delimited, quoted output
  3627.          -zql                   Left quote only
  3628.          -zqr                   Right quote only
  3629.          -zr<rows>              Maximum height of output
  3630.          -zt <TRUE string>      String to output if TRUE (note space)
  3631.          -zu                    Change output to all upper-case
  3632.          -zv                    Produce Ventura embedded <R> codes
  3633.          -zw<width>             Exact width of output (pad/truncate)
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.    VendPrcs Processor v1.21          -59-                          Mar 1995
  3658.  
  3659.  
  3660.  
  3661.  
  3662.    Appendix B: Field Codes                                           Author
  3663.  
  3664.  
  3665.        
  3666.                     +------------------------------------+
  3667.                     | Appendix B -- Field Code Reference |
  3668.                     +------------------------------------+
  3669.  
  3670.  
  3671.  
  3672.    Author/Publisher Information
  3673.    ----------------------------
  3674.  
  3675.          aa     Author/company address
  3676.          ac     Company name
  3677.  
  3678.         Author/Publisher Electronic Addresses
  3679.          aea    America OnLine user ID
  3680.          aeb    BBS phone number
  3681.          aec    CompuServe Information System user ID
  3682.          aed    Delphi user ID
  3683.          aef    FidoNet node number
  3684.          aeg    Genie user ID
  3685.          aei    Internet address
  3686.          aen    BBS name
  3687.          aeo    Other electronic addresses
  3688.          aep    Prodigy user ID
  3689.          aer    RIME node address
  3690.          aeu    BBS username for mail when using BBS
  3691.  
  3692.          af     Author facsimile (FAX) phone number
  3693.  
  3694.         Membership in Trade Associations
  3695.          ama    Association of Shareware Professionals (ASP)?
  3696.          amb    Association of Shareware Authors and Distributors (ASAD)?
  3697.          amd    Deutschsprachige Shareware Authoren und Haendlervereinigung?
  3698.          ame    Educational Software CoOperative?
  3699.          amp    Software Publishers' Association (SPA)?
  3700.          ams    Shareware Trade Association and Resources (STAR)?
  3701.          amx    Other trade association memberships?
  3702.  
  3703.          an     Author name (personal name)
  3704.          ap     Author voice phone number
  3705.          aq     Product queries phone number
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.  
  3713.  
  3714.  
  3715.  
  3716.    VendPrcs Processor v1.21          -60-                          Mar 1995
  3717.  
  3718.  
  3719.  
  3720.  
  3721.    Appendix B: Field Codes                             Special VENDINFO.DOZ
  3722.  
  3723.  
  3724.    Special Contents of VENDINFO.DOZ Files
  3725.    --------------------------------------
  3726.  
  3727.         These Front-End Information Letters Are Used in Field Codes Below
  3728.          b = Diskette volume label (e.g., for diskettes created from CD-ROM)
  3729.          c = Executable program filename and package number
  3730.          d = Demo program filename and package number
  3731.          e = Install program filename and package number
  3732.          f = User document filename and package number
  3733.          g = Order form filename and package number
  3734.          i = Author number (if assigned by distributor)
  3735.          j = Product number (assigned by author)
  3736.          k = Preferred installation directory name
  3737.          l = Config program filename and package number
  3738.  
  3739.         Special CD-ROM Front-End Information
  3740.          cde?   Filename extension
  3741.          cdf?   Filename
  3742.          cdn?   Package number
  3743.          cdp?   Filename prefix (extension removed)
  3744.  
  3745.         These Included-File Letters Are Used in Field Codes Below
  3746.          a = Screenshot 1
  3747.          b = Screenshot 2
  3748.          c = Screenshot 3
  3749.          d = Icon 1
  3750.          e = Icon 2
  3751.          f = Icon 3
  3752.          g = Sound 1
  3753.          h = Sound 2
  3754.          i = Sound 3
  3755.          j = Advertisement or boot screen
  3756.          k = Company logo
  3757.          l = Press release
  3758.          m = Reviewer guidelines
  3759.          n = Company background
  3760.          o = Author biography
  3761.          p = Product information sheet (features list, etc.)
  3762.          q = Question-and-answer sheet
  3763.          r = Miscellaneous file 1
  3764.          s = Miscellaneous file 2
  3765.          t = Miscellaneous file 3
  3766.          u = Miscellaneous file 4
  3767.  
  3768.         Information About Files Embedded in VENDINFO.DOZ File
  3769.          cfd?   File description
  3770.          cfe?   Filename extension
  3771.          cff?   Filename
  3772.          cfn?   Set number (if used to match screenshot/icon/sound files)
  3773.  
  3774.  
  3775.    VendPrcs Processor v1.21          -61-                          Mar 1995
  3776.  
  3777.  
  3778.  
  3779.  
  3780.    Appendix B: Field Codes                             Special VENDINFO.DOZ
  3781.  
  3782.  
  3783.          cfp?   Filename prefix (extension removed)
  3784.          cfx?   When used with extract command (-x), extracts embedded file
  3785.  
  3786.  
  3787.    Channel-Specific Distribution Information
  3788.    -----------------------------------------
  3789.  
  3790.         These Channel Identification Letters Are Used in Field Codes Below
  3791.          b = Bbs
  3792.          f = bbs File-distribution network
  3793.          d = mail order Disk vendor
  3794.          c = Cd-rom
  3795.          o = One-site rack vendor
  3796.          r = multi-site Rack distributor
  3797.          k = booK enclosure disk
  3798.          s = Subscription service
  3799.          m = Magazine
  3800.          t = Television/cable/satellite and similar
  3801.          p = 1-900 Phone distribution or similar
  3802.          i = Installation by distributor on end-user's machine
  3803.          u = other method Undescribed by above
  3804.  
  3805.         Distribution Field Codes
  3806.          d?a    Additional distribution requirements (text)
  3807.          d?dc   Price limit per CD-ROM (if turned on)
  3808.          d?dd   Date after which distribution is prohibited
  3809.          d?dk   Price limit per 360K (if turned on)
  3810.          d?dp   Price limit per product (if turned on)
  3811.          d?dt   Date after which distributor must contact author
  3812.          d?dy   Price limit per year (if turned on)
  3813.          d?ma   Any distributor qualifies?
  3814.          d?maa  Any distributor who is an ASP member qualifies?
  3815.          d?mac  Any consultant qualifies?
  3816.          d?mad  Any full-disclosure distributor qualifies?
  3817.          d?mah  Any hardware dealer qualifies?
  3818.          d?man  Any non-profit user group qualifies?
  3819.          d?maq  Additional requirements specified in this data record?
  3820.          d?mar  Distributor receiving product from author qualifies?
  3821.          d?mau  Any user group qualifies?
  3822.          d?mdc  Distributor must check if after contact date?
  3823.          d?mdp  Distribution is prohibited after prohib date?
  3824.          d?mh   Diskette distribution on high-density media only?
  3825.          d?mna  Distributor disqualified if any charge is made to user?
  3826.          d?mnb  If target market is BBS, distribution is not allowed?
  3827.          d?mnc  Disqualified if charge per CD-ROM exceeds amount?
  3828.          d?mnd  If distributor "disqualified", distribution prohibited?
  3829.          d?mng  If target is distributors, distribution not allowed?
  3830.          d?mnk  Disqualified if charge per 360K exceeds amount?
  3831.          d?mno  Disqualified if distributing by other mass media?
  3832.  
  3833.  
  3834.    VendPrcs Processor v1.21          -62-                          Mar 1995
  3835.  
  3836.  
  3837.  
  3838.  
  3839.    Appendix B: Field Codes                                     Distribution
  3840.  
  3841.  
  3842.          d?mnp  Disqualified if charge per product exceeds amount?
  3843.          d?mpq  "Qualified" distributors need written permission??
  3844.          d?mnr  Disqualified if distributing by CD-ROM?
  3845.          d?mnu  If target is end users, distribution not allowed?
  3846.          d?mny  Disqualified if charge per year exceeds amount?
  3847.          d?mp   Distribution by this channel is prohibited?
  3848.          d?mpd  If "disqualified", written permission is required?
  3849.          d?mr   Royalties must be paid for distribution?
  3850.          d?msq  Sample of distribution materials is requested?
  3851.          d?msr  Sample of distribution materials is required?
  3852.          d?mst  Must see front text for additional requirements?
  3853.          d?mv   Notification of dist and version number is required?
  3854.  
  3855.  
  3856.  
  3857.    Human-Readable Front Text Sections
  3858.    ----------------------------------
  3859.  
  3860.          ff     Packing List (files) section from front text
  3861.          fi     Installation section from front text
  3862.          fl     License section from front text
  3863.          fp     Product Information section from front text
  3864.          fr     READ-ME section from front text
  3865.          fs<n>  Special section number n (1-9) from front text
  3866.          fv     VENDINFO description at beginning of file
  3867.          fw     Warranty section from front text
  3868.  
  3869.  
  3870.    Channel-Independent ("General") Distribution
  3871.    --------------------------------------------
  3872.  
  3873.          gc     Additional limitations on using different compressor
  3874.          gd     Restrictions on bundling with dissimilar products
  3875.          gg     Other geographic restrictions on distribution
  3876.          gh     Other information about allowed changes to package
  3877.          gi     Other restrictions on changing installation procedure
  3878.          gmaa   Ads may be appended to existing documentation files?
  3879.          gmas   Ads may be added as separate files?
  3880.          gmc    Package may be repackaged with different compressor?
  3881.          gmct   See front text for add'l restrictions on recompression?
  3882.          gmd    OK to bundle with dissimilar products (e.g., starter set)?
  3883.          gmdp   Written permission required for bundling with dissimilar?
  3884.          gmdt   Text has add'l requirements on bundling with dissimilar?
  3885.          gmf    Must all original files be included in unmodified form?
  3886.          gmhs   Can add a help file, GO.BAT, etc. as a separate file?
  3887.          gmi    Can add or substitute an installation procedure?
  3888.          gmit   Text has add'l requirements on changing installation?
  3889.          gmp    Distributable only in original unmodified form?
  3890.          gms    OK to bundle with similar products (e.g., "mega-disk")?
  3891.  
  3892.  
  3893.    VendPrcs Processor v1.21          -63-                          Mar 1995
  3894.  
  3895.  
  3896.  
  3897.  
  3898.    Appendix B: Field Codes                                          General
  3899.  
  3900.  
  3901.          gmsp   Written permission required for bundling with similar?
  3902.          gmst   Text has add'l requirements on bundling with similar?
  3903.          gmu    Distribution outside U.S. illegal, contained encryption?
  3904.          gs     Restrictions on bundling with other, similar products
  3905.          gt     Product distribution category
  3906.          gu     Author's policy on providing upgrades to distributors
  3907.  
  3908.  
  3909.    VENDINFO Header Information
  3910.    ---------------------------
  3911.  
  3912.          hd     VENDINFO file preparation date
  3913.          ht     VENDINFO file type
  3914.          hv     Version number of VENDINFO file itself
  3915.  
  3916.  
  3917.    Price and Benefits Information
  3918.    ------------------------------
  3919.  
  3920.          ic     Currency in which prices are expressed
  3921.          imd    Dealer discounts available?
  3922.          ime    Dealer discount prices are in attached text?
  3923.          iml    Low-cost retail (LCR) version of product available?
  3924.          imn    Enhanced non-shareware version (NSV) available?
  3925.          imp    Royalty rates are included in attached text?
  3926.          imq    Royalties are negotiated on a case-by-case basis?
  3927.          imr    Royalties required for some forms of distribution?
  3928.          ims    Site licenses are available for product?
  3929.          imt    Site license rates are included in attached text?
  3930.  
  3931.          ira    Royalty agent for author (contact author first)
  3932.          irm    Minimum royalty, when royalties apply to channel
  3933.          irn    Text description of when minimum royalty applies
  3934.          irx    Maximum royalty, when royalties apply to channel
  3935.          iry    Text description of when maximum royalty applies
  3936.  
  3937.         Shipping and Handling Charges
  3938.          isa    Asia
  3939.          isc    within-country
  3940.          ise    Europe
  3941.          isf    Africa
  3942.          isn    North America
  3943.          isp    Pacific Rim
  3944.          iss    South America
  3945.  
  3946.         Registration Benefits (1=minimum, 2=maximum)
  3947.          i?bad  Additional data files?
  3948.          i?bap  Additional programs?
  3949.          i?bbs  BBS or other online support?
  3950.  
  3951.  
  3952.    VendPrcs Processor v1.21          -64-                          Mar 1995
  3953.  
  3954.  
  3955.  
  3956.  
  3957.    Appendix B: Field Codes                                           Prices
  3958.  
  3959.  
  3960.          i?bbr  Branding with user's name?
  3961.          i?bbu  Bug notices?
  3962.          i?bcc  Cheat codes?
  3963.          i?bcm  Commissions?
  3964.          i?bcn  Contests?
  3965.          i?bcu  Customization (screens, printouts, etc.)?
  3966.          i?bcr  Data conversion utilities (for other programs)?
  3967.          i?bcx  Data conversion utilities (from older versions)?
  3968.          i?bdi  Discounts on other programs, merchandise, etc.?
  3969.          i?ben  Enhanced program functionality (*)?
  3970.          i?bfg  Free goodies?
  3971.          i?bfu  Future versions (license for continued use)?
  3972.          i?bgu  Guarantee?
  3973.          i?bhi  Hints (hint book, application notes, etc.)?
  3974.          i?bla  Latest version?
  3975.          i?bls  Lifetime support?
  3976.          i?bne  Newsletter?
  3977.          i?bpp  Preprinted forms?
  3978.          i?bpm  Printed manual?
  3979.          i?bqr  Quick reference cards, keyboard templates, etc.?
  3980.          i?brl  Record limitation removal (*)?
  3981.          i?bre  Registration-Reminder-Screen removal?
  3982.          i?brd  Repeated delay screen or slowdown removal (*)?
  3983.          i?bsd  Sample data files, templates, examples, etc.?
  3984.          i?bso  Source code?
  3985.          i?bsu  Subscription to updated data?
  3986.          i?btl  Time-limit removal (*)?
  3987.          i?btu  Tutorial for use of product?
  3988.          i?bun  Update notices?
  3989.          i?buf  Updates free?
  3990.          i?bvs  Voice telephone support?
  3991.          i?bwa  Watermark removal?
  3992.  
  3993.          i?p    Registration price of product
  3994.          i?v    Other registration benefits
  3995.  
  3996.  
  3997.    Ordering Information
  3998.    --------------------
  3999.  
  4000.          oa     Order address (includes author/company name)
  4001.          ob     Order bank and bank account information
  4002.  
  4003.         Credit Cards Accepted
  4004.          oca    American Express (and Optima) cards accepted?
  4005.          occ    Diner's Club credit cards accepted?
  4006.          ocd    Discover credit cards accepted?
  4007.          oce    Access/Eurocard credit cards accepted?
  4008.          ocm    MasterCard credit cards accepted?
  4009.  
  4010.  
  4011.    VendPrcs Processor v1.21          -65-                          Mar 1995
  4012.  
  4013.  
  4014.  
  4015.  
  4016.    Appendix B: Field Codes                                         Ordering
  4017.  
  4018.  
  4019.          ocv    Visa credit cards accepted?
  4020.          ocx    Order credit cards accepted
  4021.  
  4022.         Electronic Addresses for Ordering
  4023.          oea    America OnLine user ID
  4024.          oeb    BBS phone number
  4025.          oec    CompuServe Information System user ID
  4026.          oed    Delphi user ID
  4027.          oef    FidoNet node number
  4028.          oeg    Genie user ID
  4029.          oei    Internet address
  4030.          oen    BBS name
  4031.          oeo    Other electronic addresses
  4032.          oep    Prodigy user ID
  4033.          oer    RIME node address
  4034.          oeu    BBS username for mail when using BBS
  4035.  
  4036.          of     Order facsimile (FAX) phone number
  4037.          oo     Other sources of registered version
  4038.          op     Order voice phone number (not toll-free)
  4039.  
  4040.         Accepted Forms of Payment (other than credit cards)
  4041.          oxa    Payment accepted by American Express money order?
  4042.          oxbh   Bank check from sender's country, in hard currency?
  4043.          oxbo   Bank check in other (typically soft) currency accepted?
  4044.          oxbr   Bank check, hard currency, on bank in recip country?
  4045.          oxbs   Bank check recipient's currency, bank in recip country?
  4046.          oxch   Payment in cash, hard currency other than recipient's?
  4047.          oxco   Payment in cash, other (typically soft) currency?
  4048.          oxcs   Payment in cash, recipient's currency?
  4049.          oxd    Payment by direct (electronic) bank funds transfer?
  4050.          oxe    EuroCheque, recipient's currency, guarantee card nbr on back?
  4051.          oxmi   Payment by international postal money order?
  4052.          oxms   Payment by postal money order issued in recipient's country?
  4053.          oxoh   Purchase orders accepted in hardcopy from most major firms?
  4054.          oxon   Purchase orders accepted by purchase order number?
  4055.          oxph   Personal check in sender's hard currency from sender's bank?
  4056.          oxpo   Personal check in other (typically soft) currency accepted?
  4057.          oxpr   Personal check in hard currency, bank in recip country?
  4058.          oxps   Personal check recipient's currency, bank in recip country?
  4059.          oxto   Traveller's check from other than recipient's country?
  4060.          oxts   Traveller's check from recipient's country?
  4061.          oxx    Order other acceptable funds
  4062.  
  4063.          ot     Order toll-free phone, if any
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.    VendPrcs Processor v1.21          -66-                          Mar 1995
  4071.  
  4072.  
  4073.  
  4074.  
  4075.    Appendix B: Field Codes                                          Product
  4076.  
  4077.  
  4078.    Product Information
  4079.    -------------------
  4080.  
  4081.          pc?    Product category (there are five, numbered 1-5)
  4082.  
  4083.         Product Descriptions
  4084.          pd     Product description (longest to fit within size limits)
  4085.          pd1    Product description (one-line)
  4086.          pd2    Product description (two-line)
  4087.          pd3    Product description (250-char)
  4088.          pd4    Product description (450-char)
  4089.          pd5    Product description (750-char)
  4090.          pd6    Product description (1500-char)
  4091.  
  4092.          pe     Product name extension or category name
  4093.  
  4094.         Platform, Scanners
  4095.          pfaf   Hewlett-Packard or compatible flatbed scanner
  4096.          pfag   Genius scanner or compatible
  4097.          pfal   Logitech hand scanner or compatible
  4098.  
  4099.         Platform, Configuration
  4100.          pfcf   Floating-point unit (FPU)
  4101.          pfcl   Laptop
  4102.          pfcm   Micro Channel Adapter
  4103.  
  4104.         Platform, Disk Drive
  4105.          pfdc   CD-ROM drive
  4106.          pfdf   Floppy only
  4107.          pfdh   Hard drive
  4108.  
  4109.         Platform, Input Devices
  4110.          pfid   Digitizer
  4111.          pfij   Joystick
  4112.          pfik   Keyboard
  4113.          pfim   Mouse
  4114.  
  4115.         Platform, Modem
  4116.          pfma   Any serial modem
  4117.          pfmf   Fax/modem
  4118.          pfmh   Hayes-compatible serial modem
  4119.  
  4120.         Platform, Network
  4121.          pfne   Network
  4122.  
  4123.         Platform, Ports
  4124.          pfoc   PCMCIA
  4125.          pfog   Game
  4126.          pfop   Parallel
  4127.  
  4128.  
  4129.    VendPrcs Processor v1.21          -67-                          Mar 1995
  4130.  
  4131.  
  4132.  
  4133.  
  4134.    Appendix B: Field Codes                                          Product
  4135.  
  4136.  
  4137.          pfos   Serial
  4138.  
  4139.         Platform, Printer
  4140.          pfpd   Hewlett-Packard Deskjet printer
  4141.          pfpe   Epson 9-pin printer or compatible
  4142.          pfpf   Epson 24-pin printer or compatible
  4143.          pfpi   IBM Graphics Printer
  4144.          pfpl   Hewlett-Packard Laserjet printer
  4145.          pfpo   Plotter
  4146.          pfpp   Hewlett-Packard Paintjet printer
  4147.          pfps   Postscript printer
  4148.          pfpt   Text printer (specific types may be shown below)
  4149.          pfpy   Printer (specific types may be shown below)
  4150.  
  4151.         Platform, Memory (RAM)
  4152.          pfre   Extended Memory
  4153.          pfrh   HIMEM
  4154.          pfrm   EMS Memory
  4155.          pfro   Expanded *or* Extended Memory
  4156.          pfrx   XMS Memory
  4157.  
  4158.         Platform, Sound Boards
  4159.          pfsa   AdLib sound card
  4160.          pfsb   Sound Blaster sound card
  4161.          pfsc   Covox sound card
  4162.          pfsm   Musical Instrument Digital Interface (MIDI)
  4163.          pfsy   Sound card (specific types may be shown below)
  4164.  
  4165.         Platform, Video
  4166.          pfv8   IBM 8514 Adapter
  4167.          pfva   Monochrome monitor
  4168.          pfvb   Color monitor
  4169.          pfvc   Color Graphic Adapter (CGA)
  4170.          pfve   Enhanced Graphic Adapter (EGA)
  4171.          pfvh   Hercules Graphics Card
  4172.          pfvm   Monochrome Display Adapter (MDA)
  4173.          pfvn   Multi-Color Graphics Array (MCGA)
  4174.          pfvo   Multi-Color Graphics Array 256 (MCGA 256)
  4175.          pfvs   Other Super VGA (SVGA, other)
  4176.          pfvt   Tandy Display Adapter
  4177.          pfvv   Video Graphics Array (VGA)
  4178.          pfvw   VESA Super VGA (SVGA, VESA)
  4179.          pfvx   XGA
  4180.  
  4181.          ph     Screen shot support format list (e.g., 'PCX CGM FLM')
  4182.          pk     List of suggested keywords describing product
  4183.          pn     Product filename prefix (without 'A', 'B' for multipart)
  4184.          po     Other platform requirements
  4185.          pp     Product name (e.g., 'Wordstar') without category or version
  4186.  
  4187.  
  4188.    VendPrcs Processor v1.21          -68-                          Mar 1995
  4189.  
  4190.  
  4191.  
  4192.  
  4193.    Appendix B: Field Codes                                          Product
  4194.  
  4195.  
  4196.         Product Package Names and Related Information
  4197.          ppc    List of CompuServe (6-char) package prefixes
  4198.          ppl    List of package prefixes (e.g., 'MYPKGA MYPKGB')
  4199.          ppn    Number of packages making up full product (how many ZIPs)
  4200.          ppt    Filename prefix of this package
  4201.  
  4202.          pr     Reason for existence of this version
  4203.  
  4204.         Product Ratings, RSAC
  4205.          prrln  RSAC language rating
  4206.          prrlt  RSAC language text descriptor
  4207.          prrnn  RSAC nudity/sex rating
  4208.          prrnt  RSAC nudity text descriptor
  4209.          prrr   RSAC registry number
  4210.          prrst  RSAC sex text descriptor
  4211.          prrvn  RSAC violence rating
  4212.          prrvt  RSAC violence text descriptor
  4213.  
  4214.          ps     Description of other software required to use this product
  4215.          pt     Product version release date
  4216.          pv     Version number of product, without 'V' (e.g., '1.10')
  4217.          px     List of filename prefixes for previous versioms now replaced
  4218.          py     Product type (e.g., software)
  4219.  
  4220.         Basic Platform Information (1=minimum, 2=recommended)
  4221.          p?c    Platform: CPU
  4222.          p?dm   Platform: Disk Space (Kbytes), minimal installation
  4223.          p?df   Platform: Disk Space (Kbytes), full installation
  4224.          p?o    Platform: Operating System
  4225.          p?re   Platform: Extended Memory (Kbytes)
  4226.          p?rm   Platform: EMS Memory (Kbytes)
  4227.          p?rs   Platform: Standard (low) Memory (Kbytes)
  4228.          p?rx   Platform: XMS Memory (Kbytes)
  4229.          p?s    Platform: Clock Speed (MHz)
  4230.  
  4231.  
  4232.    Information about Distributors of Registered Version
  4233.    ----------------------------------------------------
  4234.  
  4235.         Distributor Information (# = 1, 2, ... for multiple distributors)
  4236.          r#a    Distributor address (includes name)
  4237.          r#c    Currency in which prices are expressed
  4238.  
  4239.         Credit Cards Accepted (valid only if enabled; test r#mc)
  4240.          r#ca   American Express (and Optima) cards accepted?
  4241.          r#cc   Diner's Club credit cards accepted?
  4242.          r#cd   Discover credit cards accepted?
  4243.          r#ce   Access/Eurocard credit cards accepted?
  4244.          r#cm   MasterCard credit cards accepted?
  4245.  
  4246.  
  4247.    VendPrcs Processor v1.21          -69-                          Mar 1995
  4248.  
  4249.  
  4250.  
  4251.  
  4252.    Appendix B: Field Codes                                  Registered Dist
  4253.  
  4254.  
  4255.          r#cv   Visa credit cards accepted?
  4256.          r#cx   Order credit cards accepted
  4257.  
  4258.          r#f    Facsimile (FAX) phone number
  4259.  
  4260.         Prices for Registered Version
  4261.          r#i1   Minimum registration price
  4262.          r#i2   Minimum registration price
  4263.  
  4264.         Shipping and Handling Charges
  4265.          r#sa   Asia
  4266.          r#sc   within-country
  4267.          r#se   Europe
  4268.          r#sf   Africa
  4269.          r#sn   North America
  4270.          r#sp   Pacific Rim
  4271.          r#ss   South America
  4272.  
  4273.         Miscellaneous Distributor Flags
  4274.          r#ma   Author drop-ships product
  4275.          r#mc   Credit card and funds enabled for this distributor
  4276.          r#md   Handles other distributors in region
  4277.          r#mj   Handles press in region
  4278.          r#mo   Sole source of technical support in region
  4279.          r#mp   Prices enabled for this distributor
  4280.          r#ms   Handles technical support in region
  4281.  
  4282.          r#p    Voice phone number
  4283.          r#r    Geographical region covered
  4284.          r#t    Toll-free voice phone number, if any
  4285.  
  4286.         Accepted Forms of Payment (valid only if enabled; test r#mc)
  4287.          r#xa   Payment accepted by American Express money order?
  4288.          r#xbh  Bank check from sender's country, in hard currency?
  4289.          r#xbo  Bank check in other (typically soft) currency accepted?
  4290.          r#xbr  Bank check, hard currency, on bank in recip country?
  4291.          r#xbs  Bank check recipient's currency, bank in recip country?
  4292.          r#xch  Payment in cash, hard currency other than recipient's?
  4293.          r#xco  Payment in cash, other (typically soft) currency?
  4294.          r#xcs  Payment in cash, recipient's currency?
  4295.          r#xd   Payment by direct (electronic) bank funds transfer?
  4296.          r#xe   Payment by EuroCheque, guarantee card number on back?
  4297.          r#xmi  Payment by international postal money order?
  4298.          r#xms  Payment by postal money order issued in recipient's country?
  4299.          r#xoh  Purchase orders accepted in hardcopy from most major firms?
  4300.          r#xon  Purchase orders accepted by purchase order number?
  4301.          r#xph  Personal check in sender's hard currency from sender's bank?
  4302.          r#xpo  Personal check in other (typically soft) currency accepted?
  4303.          r#xpr  Personal check in hard currency, bank in recip country?
  4304.  
  4305.  
  4306.    VendPrcs Processor v1.21          -70-                          Mar 1995
  4307.  
  4308.  
  4309.  
  4310.  
  4311.    Appendix B: Field Codes                                  Registered Dist
  4312.  
  4313.  
  4314.          r#xps  Personal check recipient's currency, bank in recip country?
  4315.          r#xto  Traveller's check from other than recipient's country?
  4316.          r#xts  Traveller's check from recipient's country?
  4317.  
  4318.  
  4319.    Technical Support Information
  4320.    -----------------------------
  4321.  
  4322.          sa     Support address (includes author/company name)
  4323.  
  4324.         Support Electronic Addresses
  4325.          sea    America OnLine user ID
  4326.          seb    BBS phone number
  4327.          sec    CompuServe Information System user ID
  4328.          sed    Delphi user ID
  4329.          sef    FidoNet node number
  4330.          seg    Genie user ID
  4331.          sei    Internet address
  4332.          sen    BBS name
  4333.          seo    Other electronic addresses
  4334.          sep    Prodigy user ID
  4335.          ser    RIME node address
  4336.          seu    BBS username for mail when using BBS
  4337.  
  4338.          sf     Support facsimile (FAX) phone number
  4339.          sp     Support voice phone number
  4340.          ss     Electronic forums on which product is supported
  4341.  
  4342.  
  4343.  
  4344.    Special Information Not From Inside VENDINFO Record
  4345.    ---------------------------------------------------
  4346.  
  4347.          xd     Current date
  4348.          xh     Full path of current working directory
  4349.  
  4350.         Information about compressed package (-p)
  4351.          xpd    Package date
  4352.          xpe    Package filename extension
  4353.          xpf    Package filename
  4354.          xph    Full path of directory containing package
  4355.          xpl    Full path of package
  4356.          xps    Package size
  4357.          xpx    Package filename prefix
  4358.  
  4359.         Information about VENDINFO file
  4360.          xvd    File date
  4361.          xve    Filename extension
  4362.          xvf    Filename
  4363.  
  4364.  
  4365.    VendPrcs Processor v1.21          -71-                          Mar 1995
  4366.  
  4367.  
  4368.  
  4369.  
  4370.    Appendix B: Field Codes                                     Special Info
  4371.  
  4372.  
  4373.          xvh    Full path of directory containing file
  4374.          xvl    Full path of file
  4375.          xvs    File size
  4376.          xvx    Filename prefix
  4377.  
  4378.  
  4379.  
  4380.  
  4381.  
  4382.  
  4383.  
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398.  
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.  
  4405.  
  4406.  
  4407.  
  4408.  
  4409.  
  4410.  
  4411.  
  4412.  
  4413.  
  4414.  
  4415.  
  4416.  
  4417.  
  4418.  
  4419.  
  4420.  
  4421.  
  4422.  
  4423.  
  4424.    VendPrcs Processor v1.21          -72-                          Mar 1995
  4425.  
  4426.  
  4427.  
  4428.  
  4429.    Appendix C                                          VendPrcs Errorlevels
  4430.  
  4431.  
  4432.        
  4433.                     +------------------------------------+
  4434.                     | Appendix C -- VendPrcs Errorlevels |
  4435.                     +------------------------------------+
  4436.  
  4437.       The following errorlevels are returned by VendPrcs:
  4438.  
  4439.            Errorlevel             Meaning
  4440.  
  4441.                0              No operation requested.
  4442.  
  4443.                1              An error has occurred.  This is probably
  4444.                               an incorrect field code, but it might be
  4445.                               due to other causes, in which case an error
  4446.                               message should be written to stderr.
  4447.  
  4448.                10             VENDINFO file has wrong size or CRC for
  4449.                               either the text or data section, and may
  4450.                               be a hacked or corrupted file.
  4451.  
  4452.                11             VENDINFO file has missing or invalid
  4453.                               author authentication codes, and may
  4454.                               be a hacked or corrupted file.
  4455.  
  4456.                20             A test of distribution permission has
  4457.                               been requested, and the VENDINFO file
  4458.                               prohibits distribution in the described
  4459.                               way.
  4460.  
  4461.                21             A test of distribution permission has
  4462.                               been requested, and an executable in
  4463.                               the package prohibits distribution in
  4464.                               the described way.
  4465.  
  4466.                22             VendPrcs has been asked to move package
  4467.                               by product category, and the user has
  4468.                               flagged this product's category as a
  4469.                               "Reject".
  4470.  
  4471.                30             A test of distribution permission has
  4472.                               been requested, and the VENDINFO file
  4473.                               allows distribution in the described
  4474.                               way, but only if additional requirements
  4475.                               are satisfied.
  4476.  
  4477.                31             A test of distribution permission has
  4478.                               been requested, and the VENDINFO file
  4479.                               allows distribution in the described
  4480.                               way, but only if written permission is
  4481.  
  4482.  
  4483.    VendPrcs Processor v1.21          -73-                          Mar 1995
  4484.  
  4485.  
  4486.  
  4487.  
  4488.    Appendix C                                          VendPrcs Errorlevels
  4489.  
  4490.  
  4491.                               obtained.
  4492.  
  4493.                32             A test of distribution permission has
  4494.                               been requested, and the VENDINFO file
  4495.                               allows distribution in the described
  4496.                               way, but only if additional requirements
  4497.                               are satisfied AND written permission
  4498.                               is obtained.
  4499.  
  4500.                40             A test of distribution permission has
  4501.                               been requested, and the VENDINFO file
  4502.                               allows distribution in the described
  4503.                               way.  All conditions have been satisfied.
  4504.  
  4505.                50             A test for existence of a field value
  4506.                               (or certain other tests) has been
  4507.                               requested, and the result is TRUE.
  4508.  
  4509.                51             A test for existence of a field value
  4510.                               (or certain other tests) has been
  4511.                               requested, and the result is FALSE.
  4512.  
  4513.                52             Extraction of a field value has been
  4514.                               requested, and performed successfully
  4515.                               (return of "(none)" for a missing value
  4516.                               is regarded as a success).
  4517.  
  4518.       It is a good idea to test for errorlevels 10 and 11 after the first
  4519.       VendPrcs command executed on a given VENDINFO file. Further tests for
  4520.       those particular errorlevels should be unnecessary.
  4521.  
  4522.  
  4523.  
  4524.  
  4525.  
  4526.  
  4527.  
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.  
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.    VendPrcs Processor v1.21          -74-                          Mar 1995
  4543.  
  4544.